当属性链接到IBOutlet时,究竟调用了什么初始化程序?

时间:2011-03-22 16:45:07

标签: iphone objective-c ios

将对象链接到IBOutlet时,该类用于创建实例的方法是什么?分配/初始化?

2 个答案:

答案 0 :(得分:2)

“在实例化过程中,归档中的每个对象都被取消归档,然后使用符合其类型的方法进行初始化。符合NSCoding协议的对象(包括UIView和UIViewController的所有子类)使用其initWithCoder:方法进行初始化。所有不符合NSCoding协议的对象都使用它们的init方法初始化。在实例化并初始化所有对象之后,nib加载代码重新建立所有这些对象的出口和动作连接。然后调用awakeFromNib方法有关在nib加载过程中遵循的步骤的更多详细信息,请参阅资源编程指南中的Nib文件和Cocoa。“

http://developer.apple.com/library/ios/documentation/uikit/reference/NSObject_UIKitAdditions/Introduction/Introduction.html#//apple_ref/occ/instm/NSObject/awakeFromNib

答案 1 :(得分:1)

取决于对象父类,但通常是,即使有时调用initWithCoder:而不是init方法。

您可以通过在init方法中调用NSLog来测试它。