一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

@property跟成員變量區(qū)別

 oskycar 2016-05-16
@property在xcode 4.5之前只是單純的告訴編譯器,“我在后面實(shí)現(xiàn)了對那個(gè)變量的setter和getter方法,你放心吧”,但是如果你不寫synthesize配合的話就會(huì)出錯(cuò)。synthesize才是代替setter和getter的關(guān)鍵部分。

@synthesize在xcode4.5之前是配合@property使用,幫助你隱式了實(shí)現(xiàn)了一個(gè)setter和getter。如果你沒有在interface里聲明變量,它會(huì)幫你隱式的創(chuàng)建一個(gè)已下劃線開頭的同名變量,比如@synthesize myName = _myName;

在xcode4.5以后,由于改進(jìn)了llvm編譯器。@synthesize的工作全部由@property完成了,也就是說只需要聲明@property就可以完全的創(chuàng)建一個(gè)變量。

至于interface里聲明的變量和property聲明的變量區(qū)別。我認(rèn)為有兩點(diǎn):

1.放在.h文件里的property是一個(gè)public屬性,可以供外部類訪問。

2.property和ivars聲明,本來就是兩個(gè)東西,一個(gè)是通過setter和getter去訪問對象,而另一個(gè)是直接訪問。property可以通過setter實(shí)現(xiàn)數(shù)據(jù)綁定,而ivars是不行的.


所以,老外的一些建議是:
1.如果只是單純的private變量,最好聲明在implementation里.
2.如果是類的public屬性,就用property寫在.h文件里
3.如果自己內(nèi)部需要setter和getter來實(shí)現(xiàn)一些東西,就在.m文件的類目里用property來聲明

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    男人和女人黄 色大片| 欧美激情一区=区三区| 日本精品视频一二三区| 亚洲欧美日韩国产综合在线| 91欧美日韩国产在线观看| 亚洲天堂久久精品成人| 欧美成人免费夜夜黄啪啪| 色小姐干香蕉在线综合网| 欧美一区二区三区在线播放| 91福利视频日本免费看看| 国产日产欧美精品视频| 日本人妻丰满熟妇久久| 色小姐干香蕉在线综合网| 精品精品国产自在久久高清| 视频一区二区 国产精品| 一区二区日韩欧美精品| 色婷婷人妻av毛片一区二区三区 | 国产精品久久男人的天堂| 成人欧美一区二区三区视频| 日系韩系还是欧美久久| 青草草在线视频免费视频| 日本免费熟女一区二区三区| 日韩欧美中文字幕av| 午夜精品一区二区av| 色婷婷在线精品国自产拍| 久久精品亚洲精品一区| 大尺度激情福利视频在线观看| 大香蕉精品视频一区二区| 国产午夜免费在线视频| 久热这里只有精品九九| 欧美日韩精品人妻二区三区 | 免费特黄一级一区二区三区| 欧美精品亚洲精品一区| 精品国产亚洲区久久露脸 | 精品女同在线一区二区| 国产传媒中文字幕东京热| 十八禁日本一区二区三区| 激情综合五月开心久久| 国产免费人成视频尤物| 欧美一区二区三区不卡高清视| 91人妻人澡人人爽人人精品|