Objective C 屬性詳解

2021-06-27 23:39:11 字數 1108 閱讀 9169

//屬性作用:自動生成setter和getter方法

//屬性定義:@property+屬性的型別(型別與內部操作的例項變數的型別相同)+屬性名(和內部操作例項變數名相同)

//屬性在.h檔案中, 自動生成的是setter和getter方法的宣告

//屬性特性,

//1.讀寫特性

//(1)可讀可寫------ 讀, getter方法; 寫,setter方法.即會生成兩種方法

//(2)readonly 唯讀, 只會生成getter方法

//(3)setter = 方法名

指定在生成setter方法時, setter方法的方法名, getter 同理

//2.原子特性

//(1)atomic(原子性):保證執行緒安全, 系統預設

//(2)noatomic(非原子性):不保證執行緒安全, 系統推薦

//為什麼要用noatomic:對於setter和getter方法可能要在一段時間內頻繁的呼叫, 如果每次都要加鎖與解鎖會非常的消耗系統資源, 降低程式的執行效率, 因此從效率上考慮使用noatomic非原子性

//3.語義特性

//(1)assign:針對於基本資料型別, (nsinteger, cgfloat, bool, int, long, float, double), 也可以用於物件, 預設的語義特性

//(2)retain:只能針對物件設定, 使物件的引用計數+1

//(3)copy:只能針對物件, 複製出乙個新的物件, 使新的物件引用計數+1

實現部分中

//當系統自動生成setter以及getter方法實現時, 如果指定的setter以及getter方法沒有定義, 則系統自動生成該例項變數

//warning 記住:系統自動生成的例項變數是私有的, 子類不能訪問

//當生成setter以及getter方法實現時, 如果沒有指定內部所操作的例項變數, 系統預設生成的是與屬性名同名的例項變數

//@synthesize作用

//1.生成setter以及getter方法的實現

//2.自動生成內部操作的例項變數

//(@synthesize是系統幫我們寫好的

不需要我們去操作, 因此@synthesize可做了解知識)

Objective C屬性property詳解

1.1 property的語法格式 property 引數1,引數2 型別名字 這裡的引數,主要有以下三種 setter getter方法 assign retain copy 讀寫屬性 readwrite readonly atomicity nonatomic 1.2 三種方式的使用 assig...

Objective C 原子屬性

objective c 在宣告乙個屬性的時候,想必大家都是不用經過大腦思考就會寫 property nonatomic,我們都知道屬性可以是 nonatomic 也可以使 atomic 的,但是好像幾乎所有屬性在宣告的時候 nonatomic,atomic 的屬性幾乎沒出現過。atomic 修飾符彷...

Objective C陣列詳解

1 建立陣列並輸出。直接使用nsarray建立陣列,arr count 呼叫的是方法,來計算陣列的長度。arr objectatindex i 是呼叫方法獲取某個index位置的物件。int main int argc,char ar 2 此時呼叫計算長度使用的是陣列的屬性值count,所以直接使用...