Category

Category的实现原理

通过runtime动态将分类的方法合并到类对象,元类中

1
2
3
4
5
6
7
struct _category_t {
const char *name;
struct _class_t *cls;
const struct _method_list_t *instance_methods;
const struct _protocol_list_t *protocols;
const struct _prop_list_t *properties;
}

Category 和 Extension的却别是什么

Category中有load方法吗? load方法是什么时候调用? load方法能集成吗?

load、initialize方法的区别是什么? 他们再 category 中的调用顺序?以及出现继承是他们之间的调用过程?

Category 能否添加成员变量? 如果可以,如何给 Category添加成员变量