objective-c init構(gòu)造方法以及id和instancetype的區(qū)別

在OC中init開頭的方法

  • 用途:用于初始化一個對象,讓某個對象已創(chuàng)建出來就擁有某些屬性和值

init繼承與NSObject,自定義初始化方法,就是將init方法重寫,在init方法中初始化成員變量

注意:
  1. 必須先初始化父類,再初始化子類
  2. 必須先判斷父類是否初始化成功,只有父類初始化成功才能繼續(xù)初始化子類
  3. 返回當(dāng)前對象的地址
 - (instancetype)init
{   
    //1.初始化父類
    self = [super init];
    //2.判斷父類是否初始化成功
    if(self)
    {
        //3.初始化子類
        //設(shè)置屬性的值
    }
    //4.返回地址
    return self;
}
  • id在編譯時不能判斷對象的真實類型
  • instancetype在編譯的時候可以判斷對象的真實類型
  • id可以用來定義變量,可以作為返回值,可以作為形參
  • instancetype只能作為返回值

注意:但凡自定義構(gòu)造方法,返回值盡量使用instancetype,不要使用id

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 01-禪與 Objective-C 編程藝術(shù)之條件語句與命名 類 類名 類名應(yīng)該以三個大寫字母作為前綴(雙字母前綴...
    7分醉閱讀 494評論 0 1
  • 禪與 Objective-C 編程藝術(shù) (Zen and the Art of the Objective-C C...
    GrayLand閱讀 1,783評論 1 10
  • 官方文檔 初始化 Initialization是為準(zhǔn)備使用類,結(jié)構(gòu)體或者枚舉實例的一個過程。這個過程涉及了在實例里...
    hrscy閱讀 1,202評論 0 1
  • 我希望有個如你一般的人,如山間清爽的風(fēng),如古城溫暖的光。從清晨到夜晚,由山野到書房。 其實如果未來不是你也罷,...
    我愛喝酸奶吖閱讀 1,716評論 2 0
  • 安逸休閑地住在一個有山有水的地方,這是多少人的夢想,可并不是我的,因為我的家天然就在這樣一個環(huán)境中,無需苦苦去追尋...
    殘劍閱讀 1,635評論 3 5

友情鏈接更多精彩內(nèi)容