property與 synthesize的差別

2021-09-07 14:09:31 字數 717 閱讀 3601

@property的使用方法

@inte***ce viewcontroller ()

@property(nonatomic,retain)nsarray *arr;

@end

@implementation viewcontroller

- (void)viewdidload

- (void)setarr:(nsarray *)arr

- (void)setarr2:(nsarray *)arr

@end

如上所看到的的一段**,有倆個變數arr2與arr

假設你是認真敲過相似的**,你能夠在寫程式的過程中就發現,arr的set方法似乎已經存在,而arr2的set方法須要全然手動敲定,並且須要呼叫才幹執行。

所以@property的主要作用就是生成訪問方法,及set和get方法

@sythesize的使用方法

承接上面的**,我們能夠在執行**的最前面加入

@synthesize arr = _arr;這樣當我們不須要執行訪問方法的時候,及_arr就能夠獲取arr的值,

@sythesize的作用的是更改屬性名稱

假設我們使用

@synthesize

arr = ss

arr;

那麼在執行檔案arr就會叫做ssarr。通過ssarr就能夠獲取arr的值,聽起來比較繞口。敲寫程式就知道什麼意思了

property指令與 synthesize指令

property指令,就不需要宣告相應的例項變數了 property int age 代替下面兩行 int age getter void setage int age setter在 implementation中,用來自動生成setter和getter的實現.synthesize age age...

property中的變數與

下面以 person 類為例 在.h 檔案中 inte ce person nsobject property nsstring name property nsstring property nsinteger age 表示宣告了三個屬性 name,age,預設生成3個對應的 setter 和 g...

Property與Attribute的區別

property屬於物件導向的範疇 屬性 attribute則是程式語言文法層面的東西 特徵 property屬於物件導向的範疇。在使用物件導向程式設計的時候,常常需要對客觀事物進行抽象,在把抽象出來的結果封裝成類,類中用來表示事物狀態的成員就是property。比如要編寫乙個模擬賽車的遊戲,那麼必...