Effective Objective-- 第一章

摘录:
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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简简单单lym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值