初始化的一般格式:一个标准初始化“模板”
-(instancetype)init
{ //先对继承链上所有的类对象进行初始化
//类似对一个对象存储空间内的父类部分先进行初始化。
self = [super init];
//当本对象已经分配好空间并初始化完成时
if (self)
{
//加入适当的初始化代码
//Initialization code here.
}
return self;
}
- 书上对[super init]的解释:
先调用父类对象初始化方法,保证本对象中所有继承的实例变量都被初始化(填0或初始化为你自己的代码),当使用init时,它有可能会改变对象在内存中的位置,所以需要将这条语句执行的结果赋值给self。只有初始化不成功时,才会返回nil。自己的代码中可以加入你自己的类中的实例变量的分配和初始化过程