OC Category 分类
OC Extension 延展
1. 分类的基本概念
- Category别名翻译 分类|类别|类目 OC中特有的语法。
- 使用场景,优点
- 可以访问成员变量
- 可以在不修改原有类方法的基础上,为这个类扩充一些方法。
- 一个庞大的类可以用category分类开发,如人的运动模块,日常生活等
- 一个庞大的类可以由多个人来编写,更有利于团队开发。
2. 分类的使用注意事项
- 分类中不能扩充属性即 成员变量! 只能扩充方法!
- 分类中的property 只会生成声明,不会生成实现。在.m中无法调用
- 分类中如果有原有类相同名字的方法,会执行最后一个分类中的方法。(最好不要这样用)
3. 方法的调用顺序 (分类的执行顺序引出问题)
- 分类 中找方法
- 本类 本类中找
- 父类 最后去父类中找方法
4. 类扩展的基本概念 | Class Extension
- Class Extension 类扩展|扩展。
可以为某个类扩充一些私有的成员变量和方法
- 书写形式
@interface 类名 () @end
5. 匿名分类/延展/类扩展 和 分类的区别
- Class Extension 类扩展 用于扩充一些私有的成员变量和方法
- 分类可以扩充方法,但是不能扩充属性,分类有名字。
- 匿名分类可以扩充方法和成员变量,它没有名字。一般写在.m中
方法 - 类扩展的优点 封装,保证数据的安全性
6. 引申 .h .m 属性方法的区别
.h 中写的属性和方法 默认公有,都可以访问。
.m 中写到implementation 中,就是私有的。
2015-03-12 19:33:29 Write By MarkDown © Yun.