我想知道两者之间有什么区别 初始化族方法中的[ self init ]
和self = [ super init ]
如果我不覆盖"初始化"方法。
为什么人们通常在初始化家庭方法中使用self = [ super init ]
?
[ self init ]
表示您正在初始化self class。
和
self = [ super init ]
表示初始化超类,返回的地址/内存位置设置为self class。
人们使用self = [ super init ]
到所有父类,最多NSObject
,所以这是非常重要的
通常人们使用if (self = [ super init ]) {... return self;}
以防万一self == nil
,但我从来没有这样的事情
[self init]
是不对的,因为你只是忽略了父类的初始化,这可能是错误的原因