付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Objective-C(4)成員變量的包裝屬性
成員變量的getter/setter方法成員變量的編程規(guī)范:
以_開(kāi)頭,并使用能夠表示其含義的單詞
遵循駝峰規(guī)則:如果是多個(gè)單詞的組合,則除第一個(gè)單詞外每個(gè)單詞首字母大寫成員變量的權(quán)限:
基于面向?qū)ο蟮姆庋b特征,很少將成員變量直接暴漏在外,權(quán)限一般為@protected或@private
如果在類的外部想要訪問(wèn)成員變量,則應(yīng)提供方法接口。getter方法:
作用:返回對(duì)象內(nèi)部的成員變量
命名規(guī)范:方法名與成員變量名一致。
有返回值,類型與成員變量一致,不需要接受任何參數(shù)setter方法:
作用:提供一個(gè)方法給外界設(shè)置成員變量值,可以在方法里面對(duì)參數(shù)進(jìn)行過(guò)濾
命名規(guī)范:以set開(kāi)頭,后面跟成員變量名(首字母大寫)
返回值一定是void,接受一個(gè)參數(shù)且與成員變量類型相同
形參名不要和成員變量一樣
如果一個(gè)成員變量是只讀的或者不提供直接修改的方法,則不提供setter方法即可@property關(guān)鍵字一般情況下,我們要為每個(gè)成員變量設(shè)置getter方法以及setter方法,隨著一個(gè)類中成員變量數(shù)量的增大,會(huì)產(chǎn)生大量重復(fù)性的代碼;@property關(guān)鍵字減少了我們這種重復(fù)性代碼的編寫,即@property幫助我們?cè)诮涌谥锌焖俾暶鱣etter方法及setter方法。
@synthesize關(guān)鍵字@property關(guān)鍵字
在接口中快速生成getter/setter方法的聲明@synthesize關(guān)鍵字
在實(shí)現(xiàn)中快速生成getter/setter方法的定義
蘋果公司提倡工程師去實(shí)現(xiàn)那些核心代碼,而垃圾代碼交給編譯器去完成屬性從Xcode4.5開(kāi)始,@synthesize的功能被@property包攬,且其管理的成員變量也不需要聲明
即:@property可以直接聲明一個(gè)成員變量并實(shí)現(xiàn)其getter/setter方法使用@property聲明的成員變量,稱之為屬性。屬性所管理的成員變量的訪問(wèn)權(quán)限是:@private屬性的訪問(wèn)方式成員變量訪問(wèn)方式:
只能在對(duì)象的方法中方法,如self->_age
注意:在方法中,也可以訪問(wèn)同一類型的其他對(duì)象的成員變量getter/setter方法訪問(wèn)方式:
可以在對(duì)象的方法中或者其他方法或函數(shù)中通過(guò)getter/setter訪問(wèn)
Person
*pp
=
[Person
new];
[pp
setName:@"neuedu"];
NSLog(@“name:%@”,
[pp
name]);點(diǎn)語(yǔ)法訪問(wèn):
可以使用點(diǎn)語(yǔ)法簡(jiǎn)化方法的調(diào)用:
=
@"neuedu";
NSLog(@"name:%@",
);
點(diǎn)語(yǔ)法的引入在簡(jiǎn)化了方法調(diào)用的同時(shí)降低了對(duì)工程師的要求
注意與pp為指針,取成員應(yīng)使用->,要注意區(qū)分@property的參數(shù)@property可以帶一些參數(shù),來(lái)限定屬性的一些特性
@property參數(shù)有五類,每一類都一個(gè)默認(rèn)值,且只能有一個(gè)值1)是否提供setter方法
readonly:只生成get方法
readwrite:生成set方法及get方法(默認(rèn))
如:@property
(readonly)
NSString
*name;2)內(nèi)存管理相關(guān)的
retain、strong(引用計(jì)數(shù)+1)
ARC使用strong,非ARC使用retain
assign、weak:直接賦值(引用計(jì)數(shù)不變)
非ARC使用assign
ARC中OC對(duì)象使用weak,非OC對(duì)象使用assign
copy:用于深拷貝(新的),引用計(jì)數(shù)為1
一般用于NSStirng3)多線程原子操作
nonatomic:setter方法時(shí)不要加上多線程鎖的代碼
atomic:setter方法時(shí)加上多線程鎖的代碼(默認(rèn))
在單線程的情況下,應(yīng)這樣定義:@property
(nonatomic,readonly)
NSString
*name;4)指定setter/getter方法名
用@property聲明的屬性,會(huì)自動(dòng)生成方法,同時(shí)也可以指定一個(gè)自定義的方法
如:@property
(getter
=
abc,
setter=
setAbc:)
int
age;
其實(shí)并不推薦這樣去做,主要用在BOOL類型屬性上
如:
@property(getter=isRich)BOOLrich;5)空值警告參數(shù)(Xcod
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全國(guó)大學(xué)生就業(yè)創(chuàng)業(yè)知識(shí)競(jìng)賽試題庫(kù)及答案
- 安全生產(chǎn)應(yīng)知應(yīng)會(huì)采煤部分模擬試題(含參考答案)
- 銀行業(yè)務(wù)員考試題及答案
- 低頻電療法操作考試題及答案
- 大修電廠安全試題及答案
- 2026黑龍江鶴崗市鶴北人民法院招聘聘用制人員3人參考題庫(kù)必考題
- 豐城市行政事業(yè)單位編外人員招聘【5人】備考題庫(kù)附答案
- 興國(guó)縣2025年招聘城市社區(qū)專職網(wǎng)格員【23人】參考題庫(kù)附答案
- 四川能投高縣綜合能源有限公司2025年招聘工作人員備考題庫(kù)必考題
- 廣安區(qū)2025年社會(huì)化選聘新興領(lǐng)域黨建工作專員的備考題庫(kù)附答案
- 工廠驗(yàn)收測(cè)試(FAT)
- 麻醉藥品、精神藥品月檢查記錄
- 高職單招數(shù)學(xué)試題及答案
- 基礎(chǔ)化學(xué)(本科)PPT完整全套教學(xué)課件
- 蕉嶺縣幅地質(zhì)圖說(shuō)明書
- 玻璃幕墻分項(xiàng)工程質(zhì)量驗(yàn)收記錄表
- 電梯控制系統(tǒng)論文
- (完整word版)人教版初中語(yǔ)文必背古詩(shī)詞(完整版)
- 湖北省地質(zhì)勘查坑探工程設(shè)計(jì)編寫要求
- GB/T 4310-2016釩
- GB/T 28799.3-2020冷熱水用耐熱聚乙烯(PE-RT)管道系統(tǒng)第3部分:管件
評(píng)論
0/150
提交評(píng)論