iOS 扩展(Extension)
2019-04-10 本文已影响4人
飞不越疯人院
1. 日常开发中用Extension
做什么?
Extension
:扩展, 延展, 匿名分类;放在.m
文件中;
- 声明私有属性; (不对子类暴露)
- 声明私有方法;
- 声明私有成员变量;
2. 分类(Category
)和扩展(Extension
)区别?
分类(Category ) |
扩展(Extension) |
---|---|
运行时决议 | 编译时决议 |
有单独的.h 和.m 文件 |
以声明的方式存在, 寄生于宿主类的.m 文件 |
可以为系统类添加分类 | 不能为系统类添加扩展 |
看不到源码的类可以添加分类 | 没有.m 源码的类无法为其添加扩展 |