readwrite,readonly,assign,retain,copy,nonatomic 屬性的作用

@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,非原子性訪問,不加同步,多線程併發訪問會提高性能。注意,如果不加此屬性,則默認是兩個訪問方法
   都爲原子型事務訪問。鎖被加到所屬對象實例級(我是這麼理解的...)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章