在OC中init開頭的方法
- 用途:用于初始化一個(gè)對象钩杰,讓某個(gè)對象已創(chuàng)建出來就擁有某些屬性和值
init繼承與NSObject,自定義初始化方法诊县,就是將init方法重寫讲弄,在init方法中初始化成員變量
注意:
- 必須先初始化父類,再初始化子類
- 必須先判斷父類是否初始化成功依痊,只有父類初始化成功才能繼續(xù)初始化子類
- 返回當(dāng)前對象的地址
- (instancetype)init
{
//1.初始化父類
self = [super init];
//2.判斷父類是否初始化成功
if(self)
{
//3.初始化子類
//設(shè)置屬性的值
}
//4.返回地址
return self;
}
- id在編譯時(shí)不能判斷對象的真實(shí)類型
- instancetype在編譯的時(shí)候可以判斷對象的真實(shí)類型
- id可以用來定義變量避除,可以作為返回值,可以作為形參
- instancetype只能作為返回值