一、Category
Category:分类(类别、类目), 是Objective-C 的语法,顾名思义就是将一个类分成多个模块
Objective-C Runtime源码
typedef struct objc_category *Category;
struct objc_category {
char *category_name; //分类名
char *class_name; //分类所属的类名
struct objc_method_list *instance_methods; //实例方法列表
struct objc_method_list *class_methods; //类方法列表
struct objc_protocol_list *protocols; //分类实现的协议
};
根据源码可以看出, 这个分类结构体主要是给原有类添加方法的,而且结构体里也没有属性列表,所有原则上讲它只能添加方法, 不能添加属性
分类的语法格式:
@interface 待分类的类名(分类的名称