Category
1. 【理解】什么是Category
2. 【掌握】Category的格式
1.什么是Category
- Category有很多种翻译: 分类 类别 类目 (一般叫分类)
- Category是OC特有的语法, 其他语言没有的语法
2.Category的格式
- 在.h文件中声明类别
+ 1)新添加的方法必须写在 @interface 与 @end之间
+ 2)ClassName 现有类的类名(要为哪个类扩展方法) + 3)CategoryName 待声明的类别名称
+ 4)NewMethod 新添加的方法
@interface ClassName (CategoryName)
NewMethod; //在类别中添加方法
//不允许在类别中添加变量
@end
Category的作用
+ 可以在不修改原来类的基础上, 为这个类扩充一些方法
+ 一个庞大的类可以分模块开发
+ 一个庞大的类可以由多个人来编写,更有利于团队合作
Category注意事项
- 分类只能增加方法, 不能增加成员变量
- 分类只能增加方法, 不能增加成员变量
- 分类只能增加方法, 不能增加成员变量
- 分类只能增加方法, 不能增加成员变量
如果多个分类都和原有类同名的方法,执行哪一个由编译器决定,
执行最后编译的文件方法
(注意开发中千万不要这么干)
- 方法调用的优先级(从高到低)
+ 分类(最后参与编译的分类优先)
+ 原来类
+ 父类
类扩展(Class Extension)
用在什么地方:
UI控件等
1.什么是类扩展
- 延展类别又称为扩展(Extendsion),Extension是Category的一个特例
- 可以为某个类扩充一些私有的成员变量和方法
+ 写在.m文件中
+ 英文名是Class Extension
---
2.类扩展书写格式
@interface 类名 ()
@end