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

Objective c 在什么情况下我需要自己的初始化来初始化对象?,objective-c,Objective C,我知道objective c内置了“init”方法来初始化对象。但我想知道在什么情况下我需要自己的初始化来初始化对象? 我想知道当我调用“self=[super init]”时,给self分配了什么值。当您需要将对象默认为与编译器将强制执行的状态不同的状态时,您只需要自己的初始值设定项。也就是说,所有实例变量都初始化为0(对于类似整数的类型)或0.0(对于浮点类型)。这意味着所有指针都是零,所有数字都是0(.0)。如果需要将任何内容初始化为不同的值(例如,创建内部容器对象),则需要自己的初始值设

我知道objective c内置了“init”方法来初始化对象。但我想知道在什么情况下我需要自己的初始化来初始化对象?
我想知道当我调用“self=[super init]”时,给self分配了什么值。

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


类似地,如果您的类继承自一个实现了自己初始值设定项的类,那么只有当您希望自己的状态与超类的状态不同时,才需要自己的初始值设定项。

请尽量详细说明。