iOS 關鍵字 property 修飾符

2021-08-13 16:00:37 字數 1080 閱讀 3547

//

聯絡人:

石虎暱稱

:嗡嘛呢叭咪哄

qq群:807236138  群稱: ios 技術交流學習群

atomic:表示是執行緒安全的。

nonatomic:表示是非執行緒安全的,使用此屬性效能會提高一些。

系統預設是atomic

@property(getter = getmethodname, setter = setmethodname) object *obj;

這兩個屬性修飾符用於設定自定義生成的getter和setter方法名,使用之後將不再使用系統預設的setter和getter方法名。

readonly:表明這個屬性只能讀不能寫,系統只為我們建立乙個getter方法,不會建立setter方法

setter相關的修飾符表明setter方法應該如何實現

系統預設屬性是assign。retain是指標的複製,copy是內容的複製

readwrite:表明這個屬性是可讀可寫的,系統為我們建立這個屬性的setter和getter方法。

系統只為我們建立乙個getter方法,不會建立setter方法

用於基本資料型別(nsinteger和cgfloat)和c資料型別(如int, float, double, char等)另外還有id型別,這個修飾符不會牽涉到記憶體管理。但是如果是物件型別,使用此修飾符則可能會導致記憶體洩漏或exc_bad_access錯誤

assign:用於非指標變數。用於基礎資料型別(如nsinteger, cgfloat)和c資料型別(int, float, double, char等), 另外還有id型別。

記住:前面不需要加*的就用assign

如果對基本資料型別使用,則xcode會直接報錯。當給物件型別使用此修飾符時,setter方法會先將舊的物件屬性release掉,再對新的物件進行一次賦值並進行一次retain操作

retain:用於指標變數。一般用於字串(nsstring, nsmutablestring), 陣列(nsmutablearray, nsarray),字典物件,檢視物件(uiview),控制器物件(uiviewcontroller)等

iOS 的 property中的關鍵字

所有者屬性 我們先來看看與所有權有關係的屬性,關鍵字間的對應關係。屬性值關鍵字 所有權strong strong 有weak weak 無unsafe unretained unsafe unretained 無copy strong 有assign unsafe unretained 無retai...

python關鍵字之 property

學習 python 的時候,經常遇見 property 關鍵字,有時候讓我有點疑惑,所以寫下這篇部落格來記錄它。在繫結屬性時,如果我們直接把屬性暴露出去,雖然寫起來很簡單,但是,沒辦法檢查引數,導致可以隨便更改屬性 舉個例子 class celsius def init self,temperatu...

property關鍵字學習心得

一。記憶體管理的關鍵字 retain 在setter和getter方法中加入一些記憶體管理的 當使用oc一般物件的時候,使用retain關鍵字。assign 表示不需要記憶體管理,當使用基本資料型別 數值,字元,布林 的時候使用assign關鍵字。copy 表示複製乙個物件,一般情況下nsstrin...