init
在 init 方法中,下面这行代码看起来有些奇怪。
if (self = [super init])
下面我们来解释这行代码的意思。为了让超类(在这里是NSObject)将所有需要的初始化工作一次性完成,你需要调用 [super init]。init 方法返回值(id类型数据,即泛型对象指针)就是被初始化的对象。
将 [super init] 返回的结果赋给 self 是 Objective-C 的惯例。这么做是为了防止超类在初始化过程中返回的对象与一开始创建的不一致。
在 init 方法中,下面这行代码看起来有些奇怪。
if (self = [super init])
下面我们来解释这行代码的意思。为了让超类(在这里是NSObject)将所有需要的初始化工作一次性完成,你需要调用 [super init]。init 方法返回值(id类型数据,即泛型对象指针)就是被初始化的对象。
将 [super init] 返回的结果赋给 self 是 Objective-C 的惯例。这么做是为了防止超类在初始化过程中返回的对象与一开始创建的不一致。