Category分类的定义:
分类的作用是扩展已有类的功能。
类别是OC特有的属性,可以在不改变类名和原类的实现的前提下,进行类的扩展。
- 为原有的类增加方法;
- 在方法内部可以访问原有类的成员变量,但这些成员变量一定要定义在头文件中;
分类的使用:
- 为原有的类创建一个分类;
- 在分类中增加新的方法的声明和实现;
- 以下几种情况,最好使用分类:(1)针对系统的一些类进行扩展。例如,NSString,NSArray,NSNumber等类,系统本身不提倡使用继承去扩展方法,因为这些类内部实现对继承有所限制,所以最好使用分类的方式扩展。(2)类别支持开发人员针对自己构建的类,把相关的方法分组到多个单独的文件中,针对大型复杂的类,可以提高维护性和可读性,便于管理。
使用注意点:
- 可以在分类中添加方法和成员变量,但是添加的成员变量不会自动生成setter和get