1.在分类中不能写属性,只能写方法的声明和实现
2.可不可以用@property?"可以
但是即使使用了@property,他也不会生成属性,只会生成getter和setter方法的声明(不包含实现)
3.在分类中可不可以访问本类中的属性?"可以
在分类中不能直接访问本类中的真私有属性,但是通过getter和setter方法来访问本类的真私有属性
4.分类中的方法和本类的方法能不能同名?"可以
1>这个时候 不管有没有引入分类 都会调用分类的方法
2>如果多个分类中有同名的方法,只会调用最后编译的那个分类中的方法
怎么看哪个分类是最后编译?
选中项目--->选中Target--->Build Phase-->编译源(Compile Source)-->在此修改顺序即可
5.总结:分类的使用场景
1>团队开发 多人共同写一个类的时候
2>当一个类方法非常多 功能很复杂的时候
因为太多的代码和方法写到一个类中 不易于后期的维护和修改 |
|