1,分类:
a,分类中只能写方法的声明和实现,不要直接写属性,写了立刻报错
b,在分类中.h中用@property写属性,不生成属性,只会在分类中的.h生成“所谓的属性”的set/get的声明
c,在分类中如何访问本类中的属性:分类不能直接访问本类中的真私有属性,但是可以通过setter:getter方法
d,分类中可以直接访问本类的@interface中直接写的属性
2,类的延展
a,类的延展也是分类,是一个比较特殊的分类,这个分类和本类公用一个.m文件(类的延展只有一个.h)
b,类的延展没有名字
3,类延展和分类的区别:
a,普通分类不能直接写属性,但是类的延展可以
b,普通的分类写@property+类型+属性名,生成的是“所谓的”_属性的set/get的方法声明,但是类延展1,set/get声明 2,私有属性 3,set/get的实现
***注意必须把延展的头文件的导入本类的.m中,否则其他任何位置都不生效
|
|