1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      Objective-C(4)成員變量的包裝---屬性
      • 成員變量的getter/setter方法

        創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于網站制作、成都網站設計、新會網絡推廣、成都小程序開發(fā)、新會網絡營銷、新會企業(yè)策劃、新會品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供新會建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com

      成員變量的編程規(guī)范:

          以_開頭,并使用能夠表示其含義的單詞

          遵循駝峰規(guī)則:如果是多個單詞的組合,則除第一個單詞外每個單詞首字母大寫

      成員變量的權限:

          基于面向對象的封裝特征,很少將成員變量直接暴漏在外,權限一般為@protected或@private

          如果在類的外部想要訪問成員變量,則應提供方法接口。

      getter方法:

           作用:返回對象內部的成員變量

           命名規(guī)范:方法名與成員變量名一致。

           有返回值,類型與成員變量一致,不需要接受任何參數

      setter方法:

           作用:提供一個方法給外界設置成員變量值,可以在方法里面對參數進行過濾

           命名規(guī)范:以set開頭,后面跟成員變量名(首字母大寫)

           返回值一定是void,接受一個參數且與成員變量類型相同

           形參名不要和成員變量一樣

           如果一個成員變量是只讀的或者不提供直接修改的方法,則不提供setter方法即可

      • @property關鍵字

      一般情況下,我們要為每個成員變量設置getter方法以及setter方法,隨著一個類中成員變量數量的增大,會產生大量重復性的代碼;

      @property關鍵字減少了我們這種重復性代碼的編寫,即@property幫助我們在接口中快速聲明getter方法及setter方法。

          Objective-C(4)成員變量的包裝---屬性

      • @synthesize關鍵字

      @property關鍵字

           在接口中快速生成getter/setter方法的聲明

      @synthesize關鍵字

           在實現中快速生成getter/setter方法的定義

          Objective-C(4)成員變量的包裝---屬性

      蘋果公司提倡工程師去實現 那些核心代碼,而垃圾代碼交給 編譯器去完成

      • 屬性

      從Xcode4.5開始,@synthesize的功能被@property包攬,且其管理的成員變量也不需要聲明

          即:@property可以直接聲明一個成員變量并實現其getter/setter方法

      使用@property聲明的成員變量,稱之為屬性。

      屬性所管理的成員變量的訪問權限是:@private

      • 屬性的訪問方式

      成員變量訪問方式:

           只能在對象的方法中方法,如self->_age

           注意:在方法中,也可以訪問同一類型的其他對象的成員變量

      getter/setter方法訪問方式:

           可以在對象的方法中或者其他方法或函數中通過getter/setter訪問

          Person *pp = [Person new];
          [pp setName:@"neuedu"];
          NSLog(@“name:%@”, [pp name]);

      點語法訪問:     

          可以使用點語法簡化方法的調用:

          pp.name = @"neuedu";
          NSLog(@"name:%@", pp.name);

           點語法的引入在簡化了 方法調用的同時降低了 對工程師的要求

           注意與pp為指針,取 成員應使用->,要注意 區(qū)分

      • @property的參數

      @property可以帶一些參數,來限定屬性的一些特性

           @property參數有五類,每一類都一個默認值,且只能有一個值

      1)是否提供setter方法

           readonly: 只生成get方法

           readwrite:生成set方法及get方法(默認)

           如:

      @property (readonly) NSString *name;

      2)內存管理相關的

           retain、strong(引用計數+1)

                ARC使用strong,非ARC使用retain

           assign、weak:直接賦值(引用計數不變)

                非ARC使用assign

                ARC中OC對象使用weak,非OC對象使用assign

           copy:用于深拷貝(新的),引用計數為1

                一般用于NSStirng

      3) 多線程原子操作

           nonatomic: setter方法時不要加上多線程鎖的代碼

           atomic: setter方法時加上多線程鎖的代碼(默認)

           在單線程的情況下,應這樣定義:

      @property (nonatomic,readonly) NSString *name;

      4)指定setter/getter方法名

           用@property聲明的屬性,會自動生成方法,同時也可以指定一個自定義的方法

           如:

      @property (getter = abc, setter= setAbc:) int age;

           其實并不推薦這樣去做,主要用在BOOL類型屬性上

           如:

           @property (getter = isRich) BOOL rich;

      5)空值警告參數(Xcode7新特性)

          用于編譯器在編譯過過程中,對屬性賦值語句產生必要的警告,從Xcode6.3開始引入

           nullable:允許賦值為nil

           nonnull:不允許賦值為nil,如果做了編譯會產生警告


      當前文章:Objective-C(4)成員變量的包裝---屬性
      文章路徑:http://www.ef60e0e.cn/article/ipedje.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        西盟| 铜川市| 夏邑县| 洪江市| 渭源县| 六盘水市| 岱山县| 新乡县| 上饶县| 方山县| 游戏| 大竹县| 沧州市| 西充县| 永仁县| 兴宁市| 同德县| 南汇区| 东宁县| 天津市| 黔西县| 高雄县| 万荣县| 湘阴县| 彝良县| 钟祥市| 东乌珠穆沁旗| 娱乐| 达州市| 巴中市| 金川县| 揭东县| 亳州市| 新昌县| 龙里县| 盱眙县| 手机| 大石桥市| 尤溪县| 诏安县| 甘孜|