关于init步骤的解释

关于init方法的解释- (id)init{self [super init]if (self) {//..........}return self}[super init]

关于init方法的解释

- (id)init{    self = [super init];    if (self) {        //..........    }    return self;}

[super init]的返回值和self的类型都是id类型,所以可以这么写。

如果父类初始化失败,会返回nil。所以要判断父类是不是初始化成功了,才能做子类的初始化。因为万一没有初始化成功,相当于对nil操作,会报exception。