屬性引數的區別

2021-07-09 06:24:24 字數 507 閱讀 5047

@property

(nonatomic,assign)

int age;

在student類中定義了乙個是整型屬性age,用於儲存學生的年齡。它有兩個引數,乙個是nonatomic,它代表對屬性賦值的時候不加鎖,即在多執行緒環境下訪問時可能會出現資料錯誤,如果需要在多執行緒環境下執行,為保證資料不會出現錯誤,可使用atomic引數,它會在對屬性賦值的時候加鎖。另乙個引數是assign,對於c語言的基本資料型別,只能選取這個引數。

@property

(nonatomic,copy)nsstring* name;

在student類中定義了乙個是nsstring類的物件name,用於儲存學生的姓名。它有兩個引數,乙個是nonatomic,另乙個引數是copy,該引數一般用於nsobject類及其子類的物件,這些物件在賦值時實現深拷貝,即屬性name指向的物件是賦值給它的物件的副本。

property屬性引數

1.讀寫屬性 預設是readwrite,會生成getter和setter方法 如果是readonly表示只會生成getter方法 2.setter處理 預設是assign 賦值 因此基本資料型別不需要加這個引數。因為在setter方法裡,我們經常要將乙個物件賦值給類的成員屬性,這個時候根據記憶體管理...

Object C 屬性引數

assign 預設引數setter 方法不會引起引用計數的變化 retain setter方法首先釋放舊的物件,將舊物件的值賦予輸入物件,再提高輸入物件的引用計數為1 copy setter 方法首先建立了乙個相同的物件,先物件引用計數為1舊物件引用計數無變化 arc中 strong retain ...

引數和超引數的區別

計算機學科裡有太多的術語,而且許多術語的使用並不一致。哪怕是相同的術語,不同學科的人理解一定有所不同。比如說 模型引數 model parameter 和 模型超引數 model hyperparameter 對於初學者來說,這些沒有明確定義的術語肯定很令人困惑。尤其是對於些來自統計學或經濟學領域的...