我想知道之间有什么不同
init family方法中的[ self init ]
和self = [ super init ]
如果我不重写“init”方法。
为什么人们通常在init系列方法中使用self = [ super init ]
?
答案 0 :(得分:4)
[ self init ]
表示您正在初始化自我类。
和
self = [ super init ]
表示初始化超类,返回的地址/内存位置设置为自我类。
答案 1 :(得分:0)
人们将self = [ super init ]
用于NSObject
之前的所有父类,因此这非常重要
通常人们使用if (self = [ super init ]) {... return self;}
以防万一self == nil
,但我从未有过这样的事情
[self init]
不对,因为你只是忽略父类的初始化,这可能是导致错误的原因