+load方法调用顺序总结:
1、首先是调用类的+load方法,按类的编译顺序调用,优先编译的先调用,调用子类的+load方法之前优先调用父类的+load方法
2、然后调用分类的+load方法,按分类的编译顺序调用,优先编译的先调用
1、Category中有load方法吗?load方法是什么时候调用?load方法能继承吗?
答:有load方法,load方法在runtime加载类、分类的时候调用,是可以继承的,但是一般情况下是不会主动调用load方法
2、load和initialize方法的区别是什么?它们在Catgory中的调用顺序,以及出现继承时,他们的调用过程
答:1、调用方式的区别
1)load是根据函数地址直接调用
2)initialize是通过objc_msgSend调用
2、调用时刻
1)+load是runtime加载类、分类的时候调用(只会调用一次),也就是ios应用启动的时候, 就会加载所有的类,就会调用每个类的+load方法
2)initialize是会在第一次初始化这个类之前调用,我们用它来初始化静态变量,类第一次接收到消息的时候调用,+initialize方法类似一个懒加载,如果没有使用这个类,那么默认不会去调用这个方法,切默认只加载一次,切调用发生在+init方法之前