@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 開發討論區
沒有留言:
張貼留言