• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            加文

            在這個(gè)世界上取得成就的人,都努力去尋找他們想要的機(jī)會(huì),如果找不到機(jī)會(huì),他們便自己創(chuàng)造機(jī)會(huì)。 -- 蕭伯納
            隨筆 - 14, 文章 - 56, 評(píng)論 - 1, 引用 - 0
            數(shù)據(jù)加載中……

            Objective-C 屬性列表上的各個(gè)常用屬性值及其含義

            assign                            使用簡(jiǎn)單賦值語(yǔ)句為實(shí)例變量設(shè)置值
            copy                              使用copy方法設(shè)置實(shí)例變量的值
            nonatomic                      直接返回值。若沒(méi)有聲明該屬性,那么就是atomic屬性,擠兌實(shí)例變量的存儲(chǔ)是互斥鎖定的。在沒(méi)有垃圾回收的環(huán)境下,系統(tǒng)retain這個(gè)實(shí)例變量,并設(shè)置autorelease 然后才返回值
            readonly                                
            不能設(shè)置實(shí)例變量的值,編譯器不生成setter'方法
            readwrite                               
            可以獲取并設(shè)置實(shí)例變量的值。在實(shí)現(xiàn)類(lèi)文件中,使用@synthesize,編譯器自動(dòng)產(chǎn)生setter和getter方法
            retain                                    
            在賦值的時(shí)候執(zhí)行retain(保持)操作
            getter=name                         
            取值方法使用name制定的名稱(chēng),而不是實(shí)例變量的名稱(chēng)
            setter=name                         賦值方法
            使用name制定的名稱(chēng),而不是實(shí)例變量的名稱(chēng)


            這里的參數(shù)主要分為三類(lèi):
            讀寫(xiě)屬性: (readwrite/readonly)
            setter語(yǔ)意:(assign/retain/copy)
            原子性: (atomicity(nonatomic)
            assign/retain/copy 決定了以何種方式對(duì)數(shù)據(jù)成員賦予新值 
            atomicity的默認(rèn)值是atomic,讀取函數(shù)為原子操作。 
            經(jīng)常用到的參數(shù)是 copy/reain/assign。
            在其中選擇一個(gè)來(lái)確定屬性的setter如何處理這個(gè)屬性。很多Objective-C中的object最好使用用retain,一些特別的object(例如:string)使用copy。 
            assign關(guān)鍵字代表setter直接賦值,而不是復(fù)制或者保留它。這種機(jī)制非常適合一些基本類(lèi)型,比如NSInteger和CGFloat,或者你并不直接擁有的類(lèi)型,比如delegates。 
            readonly關(guān)鍵字代表setter不會(huì)被生成, 所以它不可以和 copy/retain/assign組合使用。 
            在實(shí)現(xiàn)里,只需要
            @synthesize mainView;
            @synthesize window;
            就可代替 繁瑣的setter, getter方法, 這樣就 可讓編譯器自動(dòng)生成讀寫(xiě)函數(shù),定義了property, 使用者,可以 點(diǎn)號(hào)(.) 來(lái)存取屬性了。

            posted on 2013-05-02 14:39 chxzwj 閱讀(315) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 蘋(píng)果開(kāi)發(fā)


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 亚洲综合伊人久久大杳蕉| 久久99亚洲综合精品首页| 久久一区二区免费播放| 亚洲国产精品无码久久一线| 久久最新精品国产| 麻豆久久久9性大片| 狠狠狠色丁香婷婷综合久久俺| 久久国产成人午夜aⅴ影院| 亚洲AV乱码久久精品蜜桃| 国产精品久久久99| 无码精品久久久天天影视| 久久久久噜噜噜亚洲熟女综合| 久久人人爽人人爽AV片| 人人狠狠综合久久88成人| 久久青青国产| 潮喷大喷水系列无码久久精品| 欧美精品国产综合久久| 久久久久一级精品亚洲国产成人综合AV区 | 精品久久777| 久久亚洲AV无码精品色午夜麻豆| 久久最新精品国产| 久久免费视频观看| 国产精品久久久亚洲| 午夜天堂av天堂久久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久国产一区二区| 少妇内射兰兰久久| 日韩精品久久无码人妻中文字幕 | 久久人人爽人人爽人人片AV不 | 欧美一区二区久久精品| 久久99毛片免费观看不卡 | 亚洲国产精品无码久久SM| 久久久亚洲精品蜜桃臀| 99久久国产热无码精品免费久久久久| 色综合久久无码五十路人妻| 亚洲中文字幕无码一久久区| 国产成人精品综合久久久久| 色综合久久久久无码专区| 亚洲综合伊人久久综合| 99久久这里只有精品|