UIView
의 init
지정된 프레임으로 새로 할당된 뷰 개체를 초기화하고 반환
override init(frame: CGRect) {
super.init(frame: frame)
}
UIVIew
를 사용하려면 window 뷰 계층에 삽입해야 한다init(frame: CGRect)
가 UIView
클래스에 대한 이니셜라이저가 된다.init(coder:)
메서드를 사용해 재구성되고 초기화된다지정된 unarchiver의 데이터에서 초기화된 개체를 반환
init?(coder:)
가 사용됨required init?(coder: NSCoder) {
super.init(coder: coder)
}
Interface Builder 아카이브 또는 nib 파일에서 로드된 후 서비스를 위해 receiver를 준비
awakeFromNib
메시지를 받으면 모든 outlet 및 action 연결이 이미 설정되어 있음이 보장됨open class UIView : UIResponder, NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate { ... }
UIView
는 NSCoding
프로토콜을 채택public protocol NSCoding {
func encode(with coder: NSCoder)
init?(coder: NSCoder) // NS_DESIGNATED_INITIALIZER
}
NSCoding
은 실패가능한 이니셜라이저 init?(coder: NSCoder)
를 작성하도록 되어있음required
키워드를 사용UIVeiw
를 상속받은 클래스들도 반드시 required
로 init?(coder: NSCoder)
를 구현해야 함init?(coder: NSCoder)
를 구현해야 함 init(coder:)
awakeFromNib()
init(frame:)
참고 링크
UIView
init(frame: CGRect)
init(coder:)
awakeFromNib()
init(frame:), init(coder:)