1、分类中添加的对象方法,类方法,是程序在运行过程(并不是编译阶段)中合并到类对象和元类对象(类方法)中去的
2、为什么分类方法会覆盖原来的方法
因为分类中的方法在运行的时候会将分类中的方法合并到类对象和元类对象中,(合并的顺序),先将类对象中的原有方法挪到后面,然后将分类中的方法添加到前面,所以找方法的时候,现在分类方法中找
3、Category 编译之后的底层机构是 struct category_t 里面包含了对象信息,协议信息 、属性信息、方法列表,运行的时候,runtime会将struct category_t 中的信息合并到类对象 元类对象中
3、类拓展和分类的区别
Category是运行的时候才将信息合并到类对象中,类拓展是在编译的时候就将信息合并到类信息中
网友评论