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

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

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

      方法調用時機

      相同點: 程序啟動都只會執行僅且一次,再次怎么調用使用類都不會執行了.

      不同點: 方法調用時機不一樣.

      > + load程序啟動類加載時就會調用,不管該類是否有使用或有Import都會執行

      > + initialize 程序啟動后,只有類使用時都會觸發,包括調用類的類方法或對象方法; 包括該類的創建對象,創建對象在調用類方法alloc, 比如:[Drvier class]同樣會觸發

       

      測試實例

      有一個ViewController,

      .touchesBegan,觸發Car的類方法和對象方法

      .點擊其中一個按鈕跳轉至ViewControllerSecond控制器

      touchesBegan:

      // 交換類方法
          Method run1 = class_getClassMethod([Car class], @selector(run1));
          Method play1 = class_getClassMethod([Car class], @selector(play1));
          method_exchangeImplementations(play1, run1);
          [Car run1];
          [Car play1];
          
          Car *car = [[Car alloc] init];
          [car run];
          [car play];
          
          // 交換對象方法
          Method run = class_getInstanceMethod([Car class], @selector(run));
          Method play = class_getInstanceMethod([Car class], @selector(play));
          method_exchangeImplementations(play, run);
          
          [car run];
          [car play];
          
          Car *car2 = [[Car alloc] init];
          [car2 run];
          [car2 play];
          
          [Car run1];
          [Car play1];

       

      程序啟動后控制臺打印

      2017-09-09 17:09:33.865 Runtime[9060:228475] +[ViewControllerBase load]
      2017-09-09 17:09:33.866 Runtime[9060:228475] +[ViewControllerSecond load]
      2017-09-09 17:09:33.867 Runtime[9060:228475] +[ViewController load]
      2017-09-09 17:09:33.867 Runtime[9060:228475] +[Driver load]
      2017-09-09 17:09:33.867 Runtime[9060:228475] +[Car load]
      2017-09-09 17:09:33.921 Runtime[9060:228475] +[ViewControllerBase initialize]
      2017-09-09 17:09:33.922 Runtime[9060:228475] +[ViewController initialize]

      touches后Car的initialize會調用:

      +[Car initialize]

      點擊按鈕后:

      +[ViewControllerSecond initialize]

       返回ViewControllerSecond,再次跳轉至ViewControllerSecond initialize不會調用了

       

      應用:

      + load: .比如使用runtime交換方法實現時,可以在此方法中處理; 

      + initialize: .類使用時可以初始化類的一些基礎數據;  

       

      posted on 2017-09-09 17:13  HJiang  閱讀(406)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 欧美中文亚洲v在线| 国产av不卡一区二区| 色吊丝永久性观看网站| 人人妻人人做人人爽| 久久这里有精品国产电影网| 国产综合色在线精品| 欧美中文亚洲v在线| 国产97人人超碰CAO蜜芽PROM| 日本黄漫动漫在线观看视频| 久久综合伊人77777| 国产精品无码a∨麻豆| 德令哈市| 国产精一区二区黑人巨大| 人妻夜夜爽天天爽三区丁香花| 精品无码久久久久国产电影| 国产精品女生自拍第一区| √8天堂资源地址中文在线| 虎白女粉嫩尤物福利视频| 精品国产午夜福利在线观看| 久久精品国产午夜福利伦理| 成在线人视频免费视频| 国产亚洲无线码一区二区| 麻豆国产成人av高清在线| 国产午夜视频在线观看| 丰满熟妇人妻av无码区| 中文文精品字幕一区二区| 亚洲人成色77777| 男女性高爱潮免费网站| 最新永久免费AV无码网站| 久久ww精品w免费人成| 南丹县| 国产稚嫩高中生呻吟激情在线视频| 日韩精品一区二区三区四| 久久SE精品一区精品二区| 人摸人人人澡人人超碰97| 国产av一区二区亚洲精品| 狠狠综合久久综合88亚洲| 亚洲 丝袜 另类 校园 欧美| 久久天天躁狠狠躁夜夜不卡| 卢氏县| 色香欲天天影视综合网|