[ 自我初始化 ] 和自我 = [ 超级初始化 ] 之间的区别 ]



我想知道两者之间有什么区别 初始化族方法中的[ 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]是不对的,因为你只是忽略了父类的初始化,这可能是错误的原因

最新更新