类别Categroy
没有源代码的场景下,增加一个类的功能
可以增加
类方法
实例方法
重写基类方法
不可以增加
属性
实例变量
已存在的同名方法
使用场景
没有源代码
特殊场景
复杂的大型文件分割
扩展Extension
有源代码的前提下,增加一个类的功能
可以增加
属性
实例变量
类方法
实例方法
改写属性的读写属性
扩展成员只能在*.m实现文件内部访问,外部不能访问
类似private,用于隐藏信息,隐藏外部无需访问,类内需要使用的属性,对类内可见的接口