oc 枚举 常量的定义

  • 多用const常量类型少用#define预处理指令
  • 枚举来表示状态,选项,状态码
typedef NS_ENUM(NSUInteger,NETConnectionState) {
    NETConnectionStateDisconnected,
    NETConnectionStateConnecting = 3,
    NETConnectionStateConnected
};

NETConnectionState netState = NETConnectionStateConnecting;
NSLog(@"netState : %lu",netState); // netState : 3
NSLog(@"NETConnectionStateDisconnected : %lu",(unsigned long)NETConnectionStateDisconnected); // NETConnectionStateDisconnected : 0
NSLog(@"NETConnectionStateConnecting : %lu",(unsigned long)NETConnectionStateConnecting); // NETConnectionStateConnecting : 3
NSLog(@"NETConnectionStateConnected : %lu",(unsigned long)NETConnectionStateConnected); // NETConnectionStateConnected : 4

可以将一些公共常量和枚举放在一个.h文件中

  • Const.h 存放一些公共常量枚举文件
NSString * const terminal = @"iPhone";

// 职业
typedef NS_ENUM(NSUInteger,EmployeeType) {
    EmployeeTypeDeveloper,
    EmployeeTypeDesigner,
    EmployeeTypeFinance,
};

// 网络状态
typedef NS_ENUM(NSUInteger,NETConnectionState) {
    NETConnectionStateDisconnected,
    NETConnectionStateConnecting = 3,
    NETConnectionStateConnected
};
  • 实现文件
#import <Foundation/Foundation.h>
#import "Const.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        
        NETConnectionState netState = NETConnectionStateConnecting;
        NSLog(@"netState : %lu",netState); // netState : 3
        NSLog(@"NETConnectionStateDisconnected : %lu",(unsigned long)NETConnectionStateDisconnected); // NETConnectionStateDisconnected : 0
        NSLog(@"NETConnectionStateConnecting : %lu",(unsigned long)NETConnectionStateConnecting); // NETConnectionStateConnecting : 3
        NSLog(@"NETConnectionStateConnected : %lu",(unsigned long)NETConnectionStateConnected); // NETConnectionStateConnected : 4
        
        NSLog(@"终端: %@",terminal);
        
        
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,776评论 8 265
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,171评论 1 32
  • 一.内存问题(1).内存溢出(2).野指针(过度释放)二.内存管理方式: (1)MRC:手动管理引用计数.对对象完...
    大知闲闲_b612阅读 260评论 0 1
  • 2、#import和#include的区别是什么?#import<> 跟 #import""有什么区别? .#im...
    AlanGe阅读 346评论 0 0
  • 鳄鱼和蟒蛇是危险系数极高的冷血爬行动物,被它们咬一口可不是闹着玩的,不要说近距离接触,光是看一看甚至想一想,很多人...
    晴空月阅读 1,311评论 0 0