@property 的屬性

OC的 @property 語法可以自動幫助生成 成員變量,get 方法,和set 方法,但是 @property 還可以有一些屬性可以對生成的方法進行精細化控制。 這些精細化控制主要分幾類:

1、跟set 方法內存管理相關的
* assign : 默認的,直接生成 set 方法 (適用於非 OC 對象)
* retain : release 舊值,retain 新值,(適用於 OC 對象)
* copy : release 舊值,copy 新值

ARC 以後的內存管理這裏變成 strong weak

2、是否要生成 set 方法
* readwrite : (默認) 同時生成 setter 和 getter 方法的聲明,實現
* readonly : 只會生成 get 方法,不會生成 set 方法

3、多線程管理
*nonautomic : 不生成多線程的代碼
*automic : 生成多線程的代碼 性能高

4、setter 和 getter 方法的名稱
setter : 決定set 方法的名稱,一定要有個冒號 :
getter : 決定get 方法的名稱(一般用在bool )類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章