美文网首页
系统方法调用顺序打印笔记------

系统方法调用顺序打印笔记------

作者: ChangeWorld | 来源:发表于2017-08-17 14:39 被阅读26次

A控制器push到B控制器,然后pop的过程

+(void) initialize+(void)load这两个方法是根据文件进行加载的,是最新调用的方法,每个文件有且仅调用一次, 然后接着就是控制器生命周期,这个要联系结合实际场景(不写代码也完全靠想象)才能更好的理解 。

2017-08-17 13:58:39.673 调用顺序[7919:2276898] ViewController---->+[ViewController initialize]
2017-08-17 13:58:39.685 调用顺序[7919:2276898] ViewController---->+[ViewController load]
2017-08-17 13:58:39.686 调用顺序[7919:2276898] TwoViewController---->+[TwoViewController initialize]
2017-08-17 13:58:39.687 调用顺序[7919:2276898] TwoViewController---->+[TwoViewController load]
2017-08-17 13:58:39.889 调用顺序[7919:2276898] ViewController---->-[ViewController loadView]
2017-08-17 13:58:39.889 调用顺序[7919:2276898] ViewController---->-[ViewController viewDidLoad]
2017-08-17 13:58:39.890 调用顺序[7919:2276898] ViewController---->-[ViewController viewWillAppear:]
2017-08-17 13:58:39.892 调用顺序[7919:2276898] ViewController---->-[ViewController viewWillLayoutSubviews]
2017-08-17 13:58:39.893 调用顺序[7919:2276898] ViewController---->-[ViewController viewDidLayoutSubviews]
2017-08-17 13:58:39.897 调用顺序[7919:2276898] ViewController---->-[ViewController viewDidAppear:]
2017-08-17 13:58:42.000 调用顺序[7919:2276898] ViewController---->-[ViewController viewWillDisappear:]
2017-08-17 13:58:42.001 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController loadView]
2017-08-17 13:58:42.001 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewDidLoad]
2017-08-17 13:58:42.001 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewWillAppear:]
2017-08-17 13:58:42.116 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewWillLayoutSubviews]
2017-08-17 13:58:42.116 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewDidLayoutSubviews]
2017-08-17 13:58:42.116 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewWillLayoutSubviews]
2017-08-17 13:58:42.116 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewDidLayoutSubviews]
2017-08-17 13:58:42.620 调用顺序[7919:2276898] ViewController---->-[ViewController viewDidDisappear:]
2017-08-17 13:58:42.620 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewDidAppear:]
2017-08-17 13:58:43.495 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewWillDisappear:]
2017-08-17 13:58:43.495 调用顺序[7919:2276898] ViewController---->-[ViewController viewWillAppear:]
2017-08-17 13:58:43.998 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController viewDidDisappear:]
2017-08-17 13:58:43.998 调用顺序[7919:2276898] ViewController---->-[ViewController viewDidAppear:]
2017-08-17 13:58:43.999 调用顺序[7919:2276898] TwoViewController---->-[TwoViewController dealloc]

代码创建(-initWthFrame:)一个UIView对象添加到控制器上显示的过程

2017-08-17 14:08:50.952 调用顺序[7970:2281341] DemoView---->+[DemoView initialize]
2017-08-17 14:08:50.955 调用顺序[7970:2281341] DemoView---->+[DemoView load]
2017-08-17 14:08:50.956 调用顺序[7970:2281341] TwoViewController---->+[TwoViewController initialize]
2017-08-17 14:08:50.957 调用顺序[7970:2281341] TwoViewController---->+[TwoViewController load]
2017-08-17 14:08:51.159 调用顺序[7970:2281341] DemoView---->-[DemoView initWithFrame:]
2017-08-17 14:08:51.159 调用顺序[7970:2281341] DemoView---->-[DemoView willMoveToSuperview:]
2017-08-17 14:08:51.160 调用顺序[7970:2281341] DemoView---->-[DemoView willMoveToWindow:]
2017-08-17 14:08:51.161 调用顺序[7970:2281341] DemoView---->-[DemoView didMoveToWindow]
2017-08-17 14:08:51.163 调用顺序[7970:2281341] DemoView---->-[DemoView layoutSubviews]
2017-08-17 14:08:51.164 调用顺序[7970:2281341] DemoView---->-[DemoView drawRect:]

实例化一个对象,利用Category关联一个对象的setter和getter并调用一个方法,然后调用顺序是这样子的,先set之后,调用打印方法,打印方法里调用get

2017-08-17 14:26:10.586 调用顺序[8082:2288947] Person---->+[Person(Category) initialize]
2017-08-17 14:26:10.588 调用顺序[8082:2288947] Person---->+[Person load]
2017-08-17 14:26:10.588 调用顺序[8082:2288947] TwoViewController---->+[TwoViewController initialize]
2017-08-17 14:26:10.589 调用顺序[8082:2288947] TwoViewController---->+[TwoViewController load]
2017-08-17 14:26:10.589 调用顺序[8082:2288947] Person---->+[Person(Category) load]
2017-08-17 14:26:10.774 调用顺序[8082:2288947] Person---->-[Person init]
2017-08-17 14:26:10.774 调用顺序[8082:2288947] Person---->-[Person(Category) setCardID:]
2017-08-17 14:26:10.774 调用顺序[8082:2288947] Person---->-[Person(Category) logIDMessage]
2017-08-17 14:26:10.775 调用顺序[8082:2288947] Person---->-[Person(Category) cardID]
2017-08-17 14:26:10.775 调用顺序[8082:2288947] 
    姓名: wgb 
    性别: man 
    年龄: 25  
    身份证号: 36073419930510XXXX    

相关文章

  • 系统方法调用顺序打印笔记------

    A控制器push到B控制器,然后pop的过程 +(void) initialize和+(void)load这两个方...

  • iOS-底层(11):dyld加载流程

    +load方法、c++函数、main函数的调用顺序 从打印顺序我们可以看到:** +load方法 -> c++函数...

  • iOS 类和分类加载顺序

    当类加载进内存时会调用load方法,在load打印 在build Phases里顺序 和 打印输出 结论 加载顺序...

  • 苹果常用的布局方式

    知识点: 1、需要重新布局时,常用的系统方法的调用顺序是怎样的? 答:当一个视图需要重新布局时,系统方法的调用顺序...

  • Flutter 系统方法调用顺序

    状态 setState方法调用 出发组件的 build 方法; 对子、父小部件的影响:子控件的build方法会被执...

  • tableView

    tableView代理的调用顺序 tableView代理方法执行顺序,随着iOS系统版本的不断升级,执行顺序也有所...

  • description重写

    定义了对象的打印格式 是系统提供的方法 通常该方法对我们是隐身的 但是NSLog打印当前类对象时,该方法会被调用/...

  • iOS-浅谈OC中+load和+initialize方法

    目录 +load方法---- 类和分类的+load方法调用顺序---- 不同类间的+load方法调用顺序---- ...

  • NSInvocation

    声明HZObject NSInvocation调用方法 调用 打印

  • 控制器布局的生命周期

    打印调用的顺序: TestFunctionCall[49445:60b] ---> -[ZQRootViewCon...

网友评论

      本文标题:系统方法调用顺序打印笔记------

      本文链接:https://www.haomeiwen.com/subject/xingrxtx.html