instanceType 和 id 區別

參考博文??: instanceType & id 區別

關聯返回類型(related result types)

根據Cocoa的命名規則,滿足下述規則的方法:

  • 類方法中,以 alloc 或 new 開頭
  • 實例方法中,以 autorelease ,init ,retain 或 self 開頭

會返回一個方法所在類類型的對象,這些方法就被稱為是關聯返回類型的方法。換句話說,這些方法的返回結果以方法所在的類為類型

instancetype和id的異同

  • 相同點
    都可以作為方法的返回類型
  • 不同點
  1. instancetype可以返回和方法所在類相同類型的對象,id只能返回未知類型對象
  2. instancetype只能作為返回值,不能像 id 那樣作為參數

總結:

instancetype 的作用,就是使那些非關聯返回類型的方法返回所在類的類型!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容