Objective C中的屬性特性

2021-07-22 19:30:46 字數 477 閱讀 3790

assign:用於基本資料型別,直接賦值。也可以用於物件,只不過當setter方法賦值時,只是簡單儲存位址,不會造成引用計數的改變,可以解決迴圈引用問題。

retain:用於物件型別,當賦值時,先將舊值釋放,對新值retain引用計數加1

copy:用於物件型別,根據實現的nscopying協議的copywithzone:方法的不同,可以實現偽拷貝,淺拷貝,深拷貝。

readwrite: 可讀可寫特性。 當屬性生成方法時,既生成setter方法,也生成getter方法。

readonly :唯讀特性 。當屬性生成方法時,只會生成getter方法, 不會生成setter方法。

nonatomic :非原子性訪問,當呼叫setter以及getter方法訪問例項變數時,不會保證執行緒安全,但是訪問效率高。

atomic:原子性訪問,當呼叫setter以及getter方法訪問例項變數時,會加多執行緒處理,訪問時加鎖,訪問結束解鎖,安全性高,但是訪問效率低。

Objective C中屬性的封裝

封裝 類就是更高階別的封裝.類將資料和行為封裝為了1個整體.好處 遮蔽內部的實現.外界不需要知道內部是如何實現的 只需要知道這個物件有什麼用.方便操作.後期的維護十分的便利.繼承多型 就是為物件的屬性賦值的時候 語法上其實只要資料的型別是屬性的型別就是可以的.但是,情理上這麼做是不合的.就像pers...

Objective C中的屬性機制

objective c 2.0中的屬性機制為我們提供了便捷的獲取和設定例項變數的方式,也可以說屬性為我們提供了乙個預設的設定器和訪問器的實現。在學習oc中屬性之前我們先要知道為什麼要為變數實現getter和setter方法,我們先來了解一下例項的作用域。例項變數的作用域如下 1.public 共有的...

Objective C中copy屬性的概述

規範上nsstring做屬性都是寫成copy的,理論上應該是複製了字串而不是單純的增加引用計數,其實問題只會出現在把nsmutablestring賦值給nsstring的時候。objective c inte ce demo nsobject property nonatomic,retain ns...