我应该打电话给吗?
如果我实现我自己的版本的awakeFromNib
,我应该在我的方法结束时调用[super awakeFromNib]
?
用于UIKit(iOS)的awakeFromNib
:
您必须调用awakeFromNib的超级实现,为父类提供执行所需的任何额外初始化的机会。 虽然这个方法的默认实现什么都不做,许多UIKit类提供了非空的实现。 你可以在自己awakeFromNib方法的任何时候调用超级实现。
awakeFromNib
for AppKit(Mac) :
(如果使用OS X 10.6或更高版本,则不再适用)
只有当你确定你的超类提供了一个实现时,你才应该调用awakeFromNib的超级实现。 因为应用程序工具包没有提供awakeFromNib方法的默认实现,所以如果父类没有实现它,调用超级结果将产生一个exception。 直接父类为NSObject或NSView的类不需要调用超级实现。 对于任何其他类,可以使用NSObject的instancesRespondToSelector:类方法来确定父类是否响应awakeFromNib,如果是,则调用该方法。
该文件完全涵盖了这一点。
如果您打算询问Cocoa Touch,那么您并不那么幸运:UIKit文档并不能在我能find的任何地方明确回答这个问题。 我可以build议的最好的方法是按照与Cocoa相同的规则。