Objective-C中的Category(分类)

时间:2021-07-17 11:11:15

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