2012年4月9日 星期一

[轉載] 幾個有關@property的屬性說明

@property是一個屬性訪問聲明,擴號內支持以下幾個屬性:

1、getter=getterName,setter=setterName,設置setter與getter的方法名2,readwrite、readonly,設置可供訪問級別

2、assign、setter方法​​直接賦值,不進行任何retain操作,為了解決原類型與環循引用問題

3、retain、setter方法​​對參數進行release舊值再retain新值,所有實現都是這個順序(CC上有相關資料)

4、copy、setter方法​​進行Copy操作,與retain處理流程一樣,先舊值release,再Copy出新的對象,retainCount為1。這是為了減少對上下文的依賴而引入的機制。

5、nonatomic,非原子性訪問,不加同步,多線程並發訪問會提高性能。注意,如果不加此屬性,則默認是兩個訪問方法都為原子型事務訪問。鎖被加到所屬對象實例級


轉自 CocoaChina 開發討論區



沒有留言:

張貼留言