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