category
可以动态的给已经存在的类添加新的方法
只能是方法,不能是成员变量
使用category对类进行扩展时,不需要创建子类
category使用简单的方式,实现了类的相关方法的模块化,把不同的类方法分配到不同的分类文件中
eg: student类
用category创建子类test,那么名称为:student+test.h
#import "Student.h"
@interface Student (Test)
-(void)test2;
@end
定义
#import "Student+Test.h"
//()代表着是一个分类
//()中的Test代表着分类名称
//分类只能扩展方法,不能增加成员变量
@implementation Student (Test)
-(void)test2{
NSLog(@"TEST2");
}
@end
category 使用场景
在定义类时的某些情况下,如需求变更,可能想要为其中某一个或几个类添加新的方法
一个类中包含了许多不同种类的方法需要实现,而这些方法需要不同的团队成员实现
在使用基础类库时,有可能希望这些类实现一些自己需要的方法,