Objective-C中的Category(分类)
1 Category概念:动态的为已经存在的类加入新的行为(方法)
2 Category(分类)创建的方法
(1)通过Xcode生成分类
(2)能够手动生成分类,在头文件中面生成2个@interface
比如:
在Student.h文件里@interface Student:NSObject-(void)test1;@end以下是Student的分类,test为分类的名称@interface Student(test)-(void)test2;@end在Student.m文件里@implementation Student-(void)test1{ NSLog(@“test1…”);}@end@implementation Student(test)-(void)test2{ NSLog(@“test2…”);}@end
3 Category(分类)的说明
(1)()代表着一个分类
(2)()中的Test代表着分类的名称
(3)分类仅仅能扩展方法,不能添加成员变量
(4)使用Category对类进行扩展时不须要创建子类
Category使用简单的方式,实现了类的相关方法的模块化,把不同的类方法分配到不同的分类文件里
4 Category的使用场景
(1)在定义类时的某些情况下(比如需求变更),你可能想要为当中的某个或几个类中加入新的方法
(2)一个类中包括了很多不同种类的方法须要实现,而这些方法须要不同团队的成员来实现
(3)在使用基础类库时,有可能希望这些类实现一些自己须要的方法,比方NSString+JSON.h,为NSString这个类拓展一些解析JSON的方法。