1.
初始化自身对象之前,必须先执行超类的初始化操作,即执行
[super
init
]
。
2.
为了防止超类在初始化过程中返回的对象不同于原先创建的对象,需要使用
self=[super
init
]
这种形式来更新
self
。(参考教材p64和p161的内容)
3.
若初始化对象时出现问题,则
init
方法的返回值为
nil
。所以我们会用
if(self = [super
init
])
的形式来测试超类的初始化结果是否为零值,在初始化结果为非零值的情况下才进行自身的初始化。
4.
最后
一定要返回更新后的
self
指针。
•在cocoa中,有一些方法通过把内存分配过程和初始化过程组合起来完成一次性新对象的创建,我们把这些方法称为
便利构造器。
•它们的命名通常
以类名开头,
并且为类方法。
•例如:
+(id)studentWithName:(NSString *)aName
+(id)stringWithFormat:(NSString*)format, ...
+(id)arrayWithObjects:(id)firstObj,...