<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [Cocoa]ObjC類方法簡介

      ObjC類方法簡介

      羅朝輝 (http://www.rzrgm.cn/kesalin/)

      本文遵循“署名-非商業用途-保持一致”創作公用協議

      一,Objective C  的類方法(class method),即 static 方法,那些用 + 修飾的方法。類方法是屬于類對象的,所以無需創建類的實例對象我們就可以直接使用它們。使用形式為:

      [ClassName classMethod];

      在這里 ClassName 代表的就是一個類對象,而不是作為一種類型。類名只有出現接收消息的表達式中才代表一個類對象,其他情況下都表示一種類型。

       

      二,類方法可以繼承自基類的類方法,就像普通的類實例方法一樣。有一個特別的類方法 + (void) initialize,在類接收到任何消息之前,運行時系統會會向類對象發送這個消息,因此我們可以在這個函數里對類對象做一些初始化,比如初始化 static 變量等等。在 NSObject 中,該方法什么也不做。

       

      三,當類對象接收到一個消息卻沒有相應的類方法響應時,運行時系統會去檢查是否存在一個 root (通常是 NSObject)的實例方法能夠響應,如果能夠響應就會執行 root 的實例方法來響應。只有在這種情況下,類對象才能夠執行實例方法!再次聲明類對象執行實例方法的條件:

      1,類對象沒有相應的類方法來響應某個發送至它的消息;
      2,root 類定義了能夠響應這個消息的實例方法。

       

      四,類方法的返回值類型默認為 id,也能接受不定參數,這些都與實例方法是一致的。例如:

      + makeGroup:group, ...;

       

      五,在類方法中使用 self 和 super,這時 self 和 super 指代的都是類對象,而非實例對象,這一點要特別注意。推薦的工廠方法寫法如下,在這里使用 self class 而不是直接寫類名,是為了應對子類繼承這個函數然后被調用的情況。
      + (id) getInstance
      {
          id instance = [[[self class] alloc] init];
          return [instance autorelease];
      }

       

      引申閱讀:
      深入淺出Cocoa之類與對象
      深入淺出Cocoa之消息 

      posted @ 2011-11-01 12:34  飄飄白云  閱讀(550)  評論(0)    收藏  舉報
      本博客遵循 Creative Commons License “署名-非商業用途-保持一致”創作共用協議。 與我聯系
      主站蜘蛛池模板: 人人爽人人爽人人片av东京热| 国产午夜成人无码免费看| 少妇被粗大猛进进出出| 久久久国产成人一区二区| 国产一级特黄性生活大片| 国产在线精品国偷产拍| 亚洲精品无码日韩国产不卡av| 亚洲午夜久久久久久噜噜噜 | 双桥区| 国产台湾黄色av一区二区| 国产成人午夜福利院| 商南县| 17岁日本免费bd完整版观看| 亚洲精品午夜国产VA久久成人 | 男女激情一区二区三区| 日韩中文字幕v亚洲中文字幕| 日本午夜精品一区二区三区电影| 老司机精品影院一区二区三区| 亚洲国模精品一区二区| 四虎成人精品无码| 久久99久久99精品免视看动漫| 又污又爽又黄的网站| brazzers欧美巨大| 亚洲另类无码一区二区三区| 亚洲精品一区二区动漫| 熟女国产精品一区二区三| 国模少妇无码一区二区三区| 日韩精品18禁一区二区| 亚洲精品一区二区区别| 苍溪县| 熟妇高潮精品一区二区三区| 国产亚洲精品第一综合另类灬 | 亚洲最大成人免费av| 亚洲色无码专区一区| 亚洲的天堂在线中文字幕| 午夜三级成人在线观看| 天峻县| 极品无码国模国产在线观看| 久久精品国产亚洲av电影| 国产精品自拍中文字幕| 国产成人精品永久免费视频|