美文网首页
iOS load方法的调用时机

iOS load方法的调用时机

作者: 喔牛慢慢爬 | 来源:发表于2022-05-20 11:28 被阅读0次

load方法的调用时机

当类或类别加载到Runtime中时将会调用load方法,也就是说当类被引入进项目时会调用load,即在main函数执行前,与这个类是否被初始化使用无关,每个类的load方法只会被自动调用一次。

1

调用顺序:

  • 当父类和子类都实现load方法时,先调用父类的load方法后调用子类的load方法,父类->子类;

  • 类中的load方法会先于类别扩展中的load方法调用,父类->子类->类别;

  • 如果子类中没有实现load方法,也不会调用父类的load方法,也就是说父类的load方法不会调用两次;

  • 当创建了多个类别扩展时,类别Category中的load方法调用顺序与类别在Compile Sources中出现的顺序一致,也就是说可能与在编译时文件的加载的顺序一致;

  • 当有多个类时,其load方法的执行顺序也与类在Compile Sources中的顺序一致;

2
3

总结

  1. 父类先于子类调用;
  2. 类先于分类调用;
  3. load调用时机比较早,当load调用时,其他类可能还没加载完成,运行环境不安全;
  4. load方法是线程安全的,它使用了锁,我们应该避免线程阻塞在load方法;

相关文章

网友评论

      本文标题:iOS load方法的调用时机

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