id和instancetype的異同

2022-07-22 19:30:17 字數 386 閱讀 8682

相同點:

都可以作為方法返回值型別

在initwithname:方法中是一樣的,例如:

- (id)initwithname:(nsstring *)name;

- (instancetype)initwithname:(nsstring *)name;

編譯器在編譯時直接將id轉換成instancetype型別

不同點:

1.instancetype只能作為返回值型別,不能像id一樣作為引數型別;

2.作為返回值型別時,在自定義方法中也有不同之處

+ (id)constructanarray; //返回id型別

+ (instancetype)constructanarray; //返回nsarray *型別

OC中instanceType和id的區別

今天在學習oc的過程中遇到關於instancetype和id的問題不太明白。查了一些資料後,總結它們兩個的區別和聯絡主要有以下幾點 相同點 instancetype和id都是作為方法的返回型別而被使用。不同點 1.instancetype可以返回和方法所在類相同型別的物件,id返回的型別只能是未知型...

instancetype這個關鍵字

重點 如果是構造方法這必須這麼寫 原因是 當使用id的時候,編譯不會報錯,而instancetype編譯就會報錯 id initwithdict nsdictionary dict return self instancetype 知識點 1 instancetype在型別表示上跟id一樣,可以表示...

設定使用者ID和設定組ID

與乙個程序關聯的id有6個或更多,如下圖所示 與每個程序相關聯的使用者id和組id 實際使用者id 實際組id 我們實際是誰 有效使用者id 有效組id 附加組id 用於檔案訪問許可權檢索 儲存的設定使用者id 儲存的設定組id 由exec函式儲存 通常,有效使用者id等於實際使用者id,有效組id...