required init?(coder:)
UIView와 UIViewController를 상속하여 지정이니셜라이저를 작성할 때, 다음과 같은 에러와 마주하게 된다. 'required' 이니셜라이저인 'init(corder:)'를 정의해주어야 한다는 에러인데, 다음과 같이 정의만 해주면 에러 문구는 사라진다. required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } 왜 이런 에러가 발생하며 위와 같은 작업을 해주어야 할까? 바로, 이 NSCoding이라는 녀석 때문이다. public protocol NSCoding { public func encode(with aCoder: NSCoder) public init?(coder aDecod..
iOS/Simple Knowledge
2017. 12. 1. 00:39