Effective Objective-- 第一章
来源:互联网 发布:土地沙漠化数据 编辑:程序博客网 时间:2024/05/29 10:44
摘录:
1. 将引入头文件的时机尽量拖后,只在确有需要时才引入,这样就可以减少类的使用者所需引入头文件的数量。
2. 尽量使用字面量,少用等同方法(NSArray *a = @[@1,@2,@3];):
* 从某些方面来说使用字面量会更安全,比如以字面量的方式创建数组,当遇到nil时候程 序会抛出异常,这样就可以更加快速的发现错误;
* 注:用字面量的方式创建,其中的对象(不包括字符串)必须属于Foundation框架才可以;
* 以这种方式创建的对象都是不可变的,若需要可变对象,则需要复制一份:
``` NSMutableArray *arr = [@[@6,@2,@3,@4,@4] mutableCopy]; ```
3. 多用类型常量,少用预处理指令(#define)
* 若常量局限于某“编译单元”,则需要加k,若在其他类可见,则通常应该以类名为前缀;
* 尽量不要在头文件中定义预处理指令,若必要应该加上类名;
* 定义的常量可以在编译单元之外使用,应该使用全局符号表
``` static NSString *const kAVChatVCMettingDoMain = @"LDAVChatViewController"; //全局 extern NSString *const kAVChatVCMettingDoMain = @"LDAVChatViewController"; ```
4. 用枚举表示状态,选项,状态码等;
* 枚举定义方式:
typedef NS_ENUM(NSInteger,MSG_TYPE) {//回调消息 MSG_CALLBACK_SDP_ANSWER = 101, //呼叫或者接听后返回的字符 MSG_CALLBACK_SDP_OFFER = 102, //呼叫或者接听后返回的字符 MSG_ICE_CONNECTION = 103, //数据联通 MSG_ICE_DISCONNECTION = 104, //数据断开 MSG_ICE_FAILES = 105, //数据链接失败(资源释放最好在该状态中) MSG_PEERCONNECTION_ERROR = 106 //呼叫数据出错};
阅读全文
0 0
- Effective Objective-- 第一章
- Effective Objective-C 2.0第一章
- Effective Objective-C 2.0总结(第一章)
- 【Effective Objective-C 2.0读书笔记】第一章:熟悉Objective-C
- effective objective-c 2.0 笔记 第一章 :熟悉Objective-C
- Effective stl 第一章 容器
- Effective STL读书笔记-第一章
- Effective c++ 第一章总结
- Effective C++第一章
- Effective Python 第一章回顾
- Effective C++第一章
- effective javascript第一章
- Effective Objective-C
- Effective Objective-C
- Effective Objective-C 2.0
- Effective Objective-C [上]
- Effective Objective-C [下]
- Effective Objective-C [上]
- linux线程系列(2)linux线程分类
- c#+sql事务处理
- 大数据学习记录(day4)-Hadoop之MapReduce的执行方式
- 第3课
- 粒子滤波--总体流程
- Effective Objective-- 第一章
- jQuery选择器
- CNN、RNN与LSTM
- spring同父接口下装配不同bean的解决方案
- 增量式记录QT学习
- Tomcat的Https设置及Http自动跳转Https
- Linux内核模块配置文件
- c#常用的类和方法
- android getMemoryClass()的使用