一、+load方法
1、 runtime源码分析
![](https://img.haomeiwen.com/i6434429/719b5efdaa25880c.png)
- 1、call_class_loads();
![](https://img.haomeiwen.com/i6434429/9a7fdd8d64b33e4f.png)
![](https://img.haomeiwen.com/i6434429/84991c95d23568c4.png)
![](https://img.haomeiwen.com/i6434429/9b751d6cc7dda1d9.png)
- 2、call_category_loads();
![](https://img.haomeiwen.com/i6434429/2deb38123a5c667b.png)
- 3、method
![](https://img.haomeiwen.com/i6434429/eec3f12bd6aa2f04.png)
2、load方法的调用顺序:
-
1、类和分类的调用顺序
- 1、先调用类的load方法
- 2、再调用分类的load方法
-
runtime源码分析如下:
1
![](https://img.haomeiwen.com/i6434429/d1dbbb53cbb73b0d.png)
![](https://img.haomeiwen.com/i6434429/385d3aa6216a35b1.png)
![](https://img.haomeiwen.com/i6434429/ac6b142d46c73426.png)
- 2、有多个自定义类(不是继承关系)时的调用顺序
![](https://img.haomeiwen.com/i6434429/33bd59b4d8cdf190.png)
![](https://img.haomeiwen.com/i6434429/0b60f59074e322c1.png)
- 3、有多个不同的分类时的调用顺序
![](https://img.haomeiwen.com/i6434429/2757966e5a36c68e.png)
![](https://img.haomeiwen.com/i6434429/acdcf5fb223e5c39.png)
总结:
![](https://img.haomeiwen.com/i6434429/fbc8f2f59f13fad8.png)
面试题:
runtime源码分析如下:
总结:
面试题:
本文标题:05 +load方法
本文链接:https://www.haomeiwen.com/subject/gvuocqtx.html
网友评论