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

被折叠的 条评论
为什么被折叠?



