我们有很多带有自定义初始化程序的UIView和UIViewController子类,因为Xcode Beta 5我们必须为每个子类拼出required init(coder:)
初始化程序以满足编译器:
required init(coder aDecoder: NSCoder) {
fatalError( "NSCoding not supported")
}
我们不使用Interface Builder或Storyboard,因此我们的项目不需要NSCoding合规性。有没有办法告诉编译器,如果没有实现这个方法而没有将上面的代码添加到每个新的子类,那么它是否正常?
答案 0 :(得分:1)
没有办法告诉编译器。您甚至无法在子类与UIView
和UIViewController
之间实现图层,其唯一目的是required init...
。
一旦实施init(frame..)
覆盖,您必须实施required init(coder...)
。