NSObject init方法是否可以执行任何操作?

时间:2012-09-14 16:20:17

标签: objective-c initialization nsobject

在继承NSObject时,在自定义初始化方法中编写self = [super init];是否有意义?我知道在继承任何其他类时,它是必要的,因为它可能有自定义初始化,但NSObject init方法是否可以做任何事情?

1 个答案:

答案 0 :(得分:9)

在初始化对象之前,尚未准备好使用该对象。 init类中定义的NSObject方法不进行初始化;它只是回归自我。

所以基本上你不一定要在[super init]子类中调用NSObject,但我仍然会推荐它。这只是一个更好的设计。如果你改变超类,它仍然可以工作。

来源:NSObject Class Reference