我们首先看看关于类别的结构体:
从上面结构体中我们可以看到这几个属性:
category_name:类别的名字。
class_name:类别的类。
instance_methods:类别中的实例方法(-)。
class_methods:类别中的类方法(+)。
protocols:类别中的协议。
那么类别怎么往原始类中添加方法呢?
1.首先他将类别中的类方法添加到class的mehod class中。
2.然后将类别中的实例方法以倒序的方式添加到类别中的实例方法中,如果原本类中有方法a,b,新家的类别中有方法c,d。那么方法列表中保存方法的顺序为c,d,a,b。
3.当类别添加完毕后,回销毁原始的类别。
我们再来看看成员变量和属性的结构体。
先看成员变量:
上述结构体前面两个参数就不用说了,