美文网首页iOS面试专题
iOS开发 +load 方法

iOS开发 +load 方法

作者: 喜剧收尾_XWX | 来源:发表于2020-12-15 13:27 被阅读0次

作者:行走少年郎
链接:https://www.jianshu.com/p/b08bbe3613ab
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


Category(分类)和 Class(类)的 +load 方法

Category(分类)中的的方法、属性、协议附加到类上的操作,是在 + load 方法执行之前进行的。也就是说,在 + load 方法执行之前,类中就已经加载了 Category(分类)中的的方法、属性、协议。

而 Category(分类)和 Class(类)的 + load 方法的调用顺序规则如下所示:

先调用主类,按照编译顺序,顺序地根据继承关系由父类向子类调用;
调用完主类,再调用分类,按照编译顺序,依次调用;ıÏÏ

  • load 方法除非主动调用,否则只会调用一次。
    通过这样的调用规则,我们可以知道:主类的 + load 方法调用一定在分类 + load 方法调用之前。但是分类 + load 方法调用顺序并不不是按照继承关系调用的,而是依照编译顺序确定的,这也导致了 + load 方法的调用顺序并不一定确定。一个顺序可能是:父类 -> 子类 -> 父类类别 -> 子类类别,也可能是 父类 -> 子类 -> 子类类别 -> 父类类别。

相关文章

  • iOS+load和+initialize详解

    转自:iOS类方法load和initialize详解iOS - + initialize 与 +load load...

  • iOS:浅谈 +load()、+initialize()、-in

    对于 iOS 开发者而言,+load(),+initialize(),-init() 方法应该并不陌生,但是,对于...

  • iOS开发 +load 方法

    作者:行走少年郎链接:https://www.jianshu.com/p/b08bbe3613ab[https:/...

  • iOS-load_images分析

    前言 在iOS开发中,我们经常会听到load方法,那么到底什么是load方法,它什么时候调用? 首先,我们先来看看...

  • iOS的load方法与initialize方法

    iOS的load方法与initialize方法 load Invoked whenever a class or ...

  • OC中load方法

    在iOS开发中经常会使用load方法去做方法置换。因为load方法会在整个文件被加载到运行时,在main函数之前调...

  • iOS原理(四)----+load,+initialize

    iOS原理(四)----+load,+initialize +load +load方法会在runtime加载类、分...

  • Runtime源码 +load 和 +initialize

    一、前言 在iOS的开发中,Runtime的方法交换都是写在+load之中,为什么不是+initialize中呢?...

  • 关于load

    参考资料: 1、iOS认识load方法 2、iOS基础(九) - load和initialize的实现原理 3、i...

  • +load和+initialize

    iOS开发面试时经常被问到,+load方法和+initialize方法。今天主要用源码分析下各自的调用机制。 +l...

网友评论

    本文标题:iOS开发 +load 方法

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