iOS category理解

2019-10-29  本文已影响0人  注册麻烦

Extension 是在编译时,把信息合并到类信息中;

-Catagory 是程序运行时,利用runtime机制合并到类信息中

-Catagory的原理: Category再编译只之后生成一个底层结构struct category_t,里面存储着分类的对象方法,类方法,属性,协议。

在程序运行的时候,Runtime会将category的数据,合并到类信息中。

category的底层结构 category_t

struct category_t {
const char *name;
classref_t cls;
struct method_list_t *instanceMethods;
struct method_list_t *classMethods;
struct protocol_list_t *protocols;
struct property_list_t *instanceProperties;
struct property_list_t *_classProperties;
}

上一篇下一篇

猜你喜欢

热点阅读