学习笔记:Category 中的load方法 12019-08-16 本文已影响0人 肖皖 load方法在runtime加载类、分类的时候调用,只调用一次,和+test方法不同。 load方法不管是否使用都会加载到内存中分类的load和本类的方法 都会调用 prepare_load_methods内的 add_class_to_loadable_list方法(通过递归),1、继承关系:先调用父类的load,再调用子类的方法,2、分类:只和编译顺序有关(包括父子分类关系和同级多分类)。 call_load_methods方法 call_load_methods()方法 优先调用本类loadload_method指针 在本类中 loadable_classes数组 在分类中 普通+test方法通过消息机制objc_mesSend(类对象,方法),给类对象发送一条test消息,根据类对象的isa找到元类对象里面的方法列表,进行遍历在分类里找,然后再本类里,再到父类里找有没有。 总结