로딩
요청 처리 중입니다...

[iOS/Swift] required init, override init 차이

 [iOS/Swift] required init, override init 차이

override init(frame: CGRect) { super.init(frame: frame) } required init?(coder: NSCoder) { super.init(coder: coder) } 뷰를 만들따보면 override init 과 required init?

을 호출 할때가 종종 있다. 이는 간단히 말하면 위에는 코드로 호출 할때이며, required init은 스토리보드를 통해서 호출을 할 때이다.

즉 override init은 무조건 구현을 해야하는 init이라고 생각하고, required init의 NSCoder는 스토리보드를 디코딩하는 것이다. 스토리보드 역시 XML로 NSCoder가 이를 디코딩 하는 요소로 스토리보드를 쓰지 않는다면 required init이 호출 안된다. fatalerror를 넣어도 크게 문제가 없다....