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