I'm a Developer/iOS & macOS
-
Convenience Initializer를 사용하는 경우I'm a Developer/iOS & macOS 2017. 10. 9. 23:15
말 그대로 편의를 위해서 사용합니다.Convenience Initializer에 대해 iOS 커뮤니티에서 질문 했을 때, 다음과 같은 답변을 받았습니다."내 입맛에 맞는 init을 만들기 위해 사용합니다."이 한마디와 다음의 예제코드로 Convenience Initializer가 제 머릿속에서 정리되어버렸네요. extension UIActivityIndicatorView { convenience init(activityIndicatorStyle style: UIActivityIndicatorViewStyle, scale: CGFloat) { self.init(activityIndicatorStyle: style) self.scale(scale) } func scale(_ value: CGFloat) { ..
-
OptionalI'm a Developer/iOS & macOS 2017. 10. 9. 20:51
Optional과 친해지기어떤 값이 있거나(not nil) 어떤 값도 없거나(nil)구현에 대한 정의는 다음과 같이 enum을 써서 정의할 수 있다. (Optional은 단지 enum이라고 생각하자.)enum Optional { // T는 어떤 타입도 될 수 있는 Generic 타입이다. case None case Some(T) }즉, None일 때는 아무 값도 없는 nil인 상태이고, Some(T)는 Optional이 무엇인가 값이 있는 상태인 것이다. "무엇인가 값이 있다는 사실" 만으로 Optional에 있어서 nil과 반대되는 하나의 값이 되는 것이다.위의 정의를 활용한 예제 코드이다.let x: String? = nil // 1 let x = Optional.None // 1' let x: St..