zoukankan      html  css  js  c++  java
  • Effective Objective-C 2.0之Note.02

    1.多用类型常量,少用#define预处理指令

    不要用预处理指令定义常量。这样定义出来的常量不含类型信息,编译器只是会在编译前据此执行查找与替换操作。即使有人重新定义了常量值,编译器也不会产生警告信息,这将导致应用程序中的常量值不一致。

    在实现文件中使用static const来定义“只在编译单元内可见的常量”(translation-unit-specific constant)。由于此类常量不在全局符号表中,所以无须为其名称加前缀。

    在头文件中使用extern来声明全局常量,并在相关实现文件中定义其值。这种常量要出现在全局符号表中,所以其名称应加以区隔,通常用与之相关的类名做前缀。


    2.用枚举表示状态、选项、状态码

    枚举只是一种常量命名方式。某个对象所经历的各种状态就可以定义为一个简单的枚举集(enumeration set).
     
        typedef NS_ENUM(NSUInteger, EOCConnectionState) {  
            EOCConnectionStateDisconnected,  
            EOCConnectionStateConnecting,  
            EOCConnectionStateConnected,  
        };  
         
        switch (_currentState) {  
            EOCConnectionStateDisconnected:  
                // Handle disconnected state  
                break;  
            EOCConnectionStateConnecting:  
                // Handle connecting state  
                break;  
            EOCConnectionStateConnected:  
                // Handle connected state  
                break;  
        } 
     
    如有疑问,共同探讨,共同进步。
  • 相关阅读:
    css选择器分类及运用
    盒模型的三大类简介
    html学习总结
    html基础知识
    iOS UITextFeild获取高亮部分的长度
    iOS问题:pch not found
    对KVC和KVO的理解
    数据库设计三范式
    Hibernate中解决No Hibernate Session bound to thread问题
    call by value 和 call by reference 的区别
  • 原文地址:https://www.cnblogs.com/nielsen/p/4829274.html
Copyright © 2011-2022 走看看