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的方法。