OC中分类的注意事项
来源:互联网 发布:环境风险评估软件 编辑:程序博客网 时间:2024/05/16 23:02
1.如何正确使用分类:
(1)一个类中如果方法太多,则可以按功能进行分类的划分,比如有一个Person类,Person类中有FriendShip相关的方法,也有Work相关的方法,则可以将方法按功能不同进行划分打散,放到Person+FriendShip和Person+Work分类中。这样做一来在代码管理方面会更加的合理,二来可以根据功能的需要,引用不同的头文件,减少代码的生成量。
(2)私有方法可以放在分类中。特别是在写SDK的时候,你可以将私有方法放在一个叫Person+Private的分类中,你给别人提供的只是一个Person头文件,Person+Private头文件不提供给外界,别人也就不知道Person+Private中的私有方法了。
2.注意事项:
(1)总是为第三方类的分类名称前加前缀:一来这样做在代码阅读上来说容易得多,二来避免不小心写一个和其他分类同名的分类,当然如果同名了,程序依然可以运行,但是编译器还是会报警告。这对于一个高质量代码是不可容忍的。
(2)总是为第三方类的分类方法前加前缀:一般这个前缀可以用你项目的前缀。加前缀的好处可以避免不小心写了一个和别的分类中同名的方法。比如你的NSString分类中有一个叫urlEncodeString的方法,而你在用别人写的代码时,别人也有一个叫urlEncodeString的方法。此时就会产生两个同名的方法。而你调用的urlEncodeString方法则会被最后编译进程序的那个方法所覆盖。并且还不会报错,此时你就会很危险了,因为没有报错,而你的程序却总是执行不正确,这种bug是最难找的。
(3)不应该在分类中添加属性。这里要说明一点的是,如果你用property声明了一个属性,然后你根据其是readonly还是readwrite而写set和get方法,编译器还是不会报错的。但是这样做违背了分类设计的本意,属性是整个类的,分类只是用来添加行为的。
(4)类拓展,也可叫类延续。因为英文有人叫class-Extension,也有叫class-continuation。
I:可以添加属性
II:可以将在.h文件中定义为readonly的属性在这个里面重新定义为readwrite,并且只可在.m文件中write,对外只能是readonly
III:可以将不需要对外公布的协议写在这个里面。
IIII:可以将C++类型的变量写在这个里面,对外只提供一个OC接口。
- OC中分类的注意事项
- OC 分类注意事项
- OC中引用的注意事项
- OC中分类的使用
- OC分类(Category)的作用和注意事项
- OC中类的使用注意事项
- OC中使用布尔类型的注意事项
- 黑马程序员-oc中分类的使用
- 四、oc中分类的基础知识学习
- OC语法<3.1> OC中特有的语法:Category分类
- OC中分类
- OC中关于日期的常用方法以及注意事项
- OC中Block的原理、实现及注意事项
- 分类的使用注意事项
- oc中分类 扩展 协议的使用及区别
- oc中分类 扩展 协议的使用及区别
- OC中协议、代码块、分类的使用
- 黑马程序员 - OC语言 - 【考点】分类(Category)使用注意事项
- 速度恢复保证金大部分国家的
- error C2664: “BOOL CDC::TextOutW(int,int,const CString &)”: 不能将参数 3 从“const char [18]”转换为“const CStr
- python 以逗号分割,忽略引号内的逗号
- 三季度哈佛斯蒂芬斯卡夫表示
- 工作第四天日志
- OC中分类的注意事项
- 哇巨额花费时间对高房价使得部分失地
- crash统计跟踪工具
- Python:使用ctypes库调用外部DLL(转)
- MVC缓存,使用数据层缓存,添加或修改时让缓存失效
- spring容器加载完毕干一件事情(利用ContextRefreshedEvent事件)
- java定时每天执行任务
- PHP请求http(file_get_content)
- C/C++中volatile关键字