在什么情况下我需要自己的初始化来初始化对象?

时间:2015-11-17 03:51:30

标签: objective-c

我知道Objective c内置了'init'方法来初始化对象。但我想知道在什么情况下我需要自己的初始化来初始化对象? 我想知道当我调用'self = [super init]'

时为自己分配了什么值

1 个答案:

答案 0 :(得分:0)

当您需要将对象默认为与编译器强制执行的状态不同的状态时,您只需要自己的初始化程序。也就是说,所有实例变量都初始化为0(对于类似整数的类型)或0.0(对于浮点类型)。这意味着所有指针都是零,所有数字都是0(.0)。如果您需要将任何内容初始化为不同的值(例如,创建内部容器对象),则需要您自己的初始化程序。

同样,如果你的类继承自一个实现自己的初始化程序的类,那么只要你希望你的状态与超类的状态不同,你就只需要自己的。