在OC中init开头的方法
- 用途:用于初始化一个对象,让某个对象已创建出来就拥有某些属性和值
init继承与NSObject,自定义初始化方法,就是将init方法重写,在init方法中初始化成员变量
注意:
- 必须先初始化父类,再初始化子类
- 必须先判断父类是否初始化成功,只有父类初始化成功才能继续初始化子类
- 返回当前对象的地址
- (instancetype)init
{
//1.初始化父类
self = [super init];
//2.判断父类是否初始化成功
if(self)
{
//3.初始化子类
//设置属性的值
}
//4.返回地址
return self;
}
- id在编译时不能判断对象的真实类型
- instancetype在编译的时候可以判断对象的真实类型
- id可以用来定义变量,可以作为返回值,可以作为形参
- instancetype只能作为返回值
网友评论