【发布时间】:2012-09-22 06:16:05
【问题描述】:
我们能否相信在 Objective-C 中,规则是类的指定初始化程序总是被确定调用?或者我们可以说,它应该几乎总是正确的,除了几个例外?例如,对于UIView,docs 表示:
initWithFrame:
如果您以编程方式创建视图对象,则此方法是 UIView 类的指定初始化程序。子类可以覆盖 此方法执行任何自定义初始化,但必须调用 super 在实施之初。
如果您使用界面生成器 设计您的界面,当您的视图时不调用此方法 随后从 nib 文件加载对象。笔尖中的对象 文件被重构,然后使用它们的 initWithCoder 进行初始化: 方法
或者我们可以说,如果是以编程方式,则规则应该始终适用于设计良好的类,但 Interface Builder 有点不同,因为它有点“复活”或以非编程方式构建对象。如果是这样,在我们进行 iOS 编程时,它们是不是一般的其他例外情况?
【问题讨论】:
标签: objective-c ios designated-initializer