真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

IOS開(kāi)發(fā)之@property有什么用

這篇文章主要為大家展示了“IOS開(kāi)發(fā)之@property有什么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“IOS開(kāi)發(fā)之@property有什么用”這篇文章吧。

創(chuàng)新互聯(lián)公司專注于城子河網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供城子河營(yíng)銷型網(wǎng)站建設(shè),城子河網(wǎng)站制作、城子河網(wǎng)頁(yè)設(shè)計(jì)、城子河網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造城子河網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供城子河網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

IOS開(kāi)發(fā)之@property的詳細(xì)介紹

在類中定義屬性時(shí),總會(huì)使用到@property進(jìn)行定義,下面就來(lái)說(shuō)說(shuō)@property的使用。

在使用過(guò)程中,如果需求公開(kāi)且在其他類中使用時(shí),通常會(huì)定義在.h頭文件中;而如果只是該類自已需要使用,這時(shí)則會(huì)定義

在.m實(shí)現(xiàn)文件中。

使用格式

@property (參數(shù)1, 參數(shù)2, 參數(shù)3, ...) 參數(shù)類型 參數(shù)名稱

參數(shù)包括三個(gè)種類,七個(gè)屬性,如下圖所示。 

IOS開(kāi)發(fā)之@property有什么用

在使用過(guò)程中,有幾點(diǎn)需要注意:

(1)原子性定義中,如果沒(méi)有涉及到多線程環(huán)境時(shí),通常不會(huì)使用默認(rèn)值atomic;
(2)讀寫(xiě)屬性通過(guò)采用默認(rèn)值readwrite;
(3)set方法處理時(shí),需要針對(duì)不同的類型使用參數(shù),而不是全都使用默認(rèn)值;
(4)set方法處理時(shí),對(duì)于非對(duì)象參數(shù)類型,即基本數(shù)據(jù)類型,如int/float/double/BOOL等類型時(shí),采用assign;
(5)set方法處理時(shí),對(duì)于對(duì)象參數(shù)類型,如NSString/NSNumber/NSArray/…/NSDictionary等類型時(shí),采用retain/copy;
(6)在使用過(guò)程中,定義某個(gè)屬性后,系統(tǒng)會(huì)自動(dòng)生成setter/getter方法,但程序員可以根據(jù)需要修改setter/getter方法;
(7)同時(shí)會(huì)生成同名帶下劃線的成員變量,并在setter/getter方法中使用。

如,定義一個(gè)Person類的姓名、年齡:

使用默認(rèn)值進(jìn)行定義

@property age;

相當(dāng)于

@property (atomic, assign) int age;

通過(guò)采用非原子性的,即

@property (nonatomic, assign) int age;

對(duì)象類型的定義不能使用如下方式,因?yàn)樵撔问蕉x時(shí),是直接進(jìn)行賦值,會(huì)造成內(nèi)存泄露。

@property (nonatomic, assign) NSString *name;

正確的方式應(yīng)該使用retain/copy進(jìn)行定義

@property (nonatomic, retain) NSString *name;

默認(rèn)生成的setter/getter方法分別是

- (void)setAge:(int)age;
- (int)age;
- (void)setName:(NSString *)name;
- (NSString *)name;

如果在定義時(shí),重新定義了setter/getter方法,則系統(tǒng)默認(rèn)分成的setter/getter方法則無(wú)效了,使用時(shí),需要調(diào)用新定義的

@property (nonatomic, retain, setter = setMyName:, getter = getMyName) NSString *name;

此時(shí),使用時(shí)setter/getter方法為

- (void)setMyName:(NSString *)myName;
- (NSString *)getMyName;

早期的Xcode版本中,@property 還會(huì)結(jié)合 @systhesize 來(lái)使用才會(huì)生成setter/getter方法,如

@property (nonatomic, assing) int age;
@systhesize age;
// 或
@systhesize age = _age;

以上是“IOS開(kāi)發(fā)之@property有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站標(biāo)題:IOS開(kāi)發(fā)之@property有什么用
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/jsggeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部