【003】Objective-C中@property()

在Objective-C語言中

可以在頭文件中用@property來聲明屬性:
然後在實現中用@synthesize來讓編譯器產生getter和setter:

@Properties()括號中有三個可選項:可讀性;內存管理;線程處理。
可讀性,一個屬性默認是可讀寫的(readwrite),如果加了readonly,則變爲只讀的。
內存管理,默認爲assign,如果設置了retain,則通知編譯器想分配給該屬性的對象發送一個保留(retain)消息,這將確保屬性底層的實例變量在使用過程中不會從內存中清除。
線程處理,默認生成的getter和setter是線程安全的(即atomic)。但由於大多數iphone application並不使用多線程,設置爲nonatomic來得到一個不是線程安全但有比較高性能的實現。
(設置成nonatomic後,生成的getter和setter代碼中沒有互斥操作)

發佈了28 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章