Category的概念及使用流程
-
一、Category概念
-
Category有很多种翻译:分类\类别\类目(一般叫做分类)
Category是OC特有的语法,其他语言没有的语法(类似于C#语言中的”扩展方法”和”partial”关键字) 二、类别的作用
-
在不修改原有的类的基础上增加新的方法;
一个庞大的类可以分模块开发
一个庞大的类可以由多个人来编写,更有利于团队合作 三、使用类别的目的
-
1)对现有类进行扩展:
比如,你可以扩展Cocoa touch框架中的类,你在类别中增加的方法会被子类所继承,而且在运行时跟其他的方法没有区别
2) 作为子类的替代手段
不需要定义和使用一个子类,你可以通过类别直接向已有的类别里增加方法。
3)对类中的方法归类
利用Category把一个庞大的类划分为小块来分别进行开发,从而更好的对类中的方法进行更新和维护。这样条理更加清晰 三、使用类别的步骤
- 先声明类别->实现类别->使用类别
类别的命名规则:类名+扩展方法,如”NSString+countNum”。
类别的接口声明与类的定义十分相似,但类别不继承父类,只需要带有一个括号,表面类别的主要用途
Category声明和实现
1.声明一个类
在.h文件中,声明类别:
@interface ClassName(CategoryName)
NewMethod; //在类别中添加方法
//不允许在类别中添加变量
@end
-
声明类格式:
-
1)新添加的方法必须写在@interface 与 @end 之间
2 ) ClassName 现有类的类别(要为哪个类扩展方法)
3)CategoryName 待声明的类别名称
4)NewMethod 新添加的方法