Objective-C 枚举类型和字符串互转方案

转载 2015年07月08日 18:30:16

枚举类型的使用优势没啥好说的。但经常需要将它与字串进行转换方便显示或其它需求。

在常见的方案中,多是先声明,然后在实现文件里创建一个映射表。这样带来的问题就是要分两个文件来管理,带来管理不方便不好。使用前还在确保映射表已经初始化。显然使用时还是有些许难受。

如果全部改用宏来实现则会好管理很多,而且对于映射表可以采用惰性初始化原则,即只有访问到时才创建。

 

 

复制代码
enum DPodRecordType{  

     DPodRecordTypeA = 0,  

     DPodRecordTypeCNAME,  

     DPodRecordTypeMX,  

     DPodRecordTypeTXT,  

     DPodRecordTypeNS,  

DPodRecordTypeAAAA, DPodRecordTypeSRV, DPodRecordTypeURL }; typedef enum DPodRecordType DPodRecordType; const NSArray *___DPodRecordType; // 创建初始化函数。等于用宏创建一个getter函数 #define cDPodRecordTypeGet (___DPodRecordType == nil ? ___DPodRecordType = [[NSArray alloc] initWithObjects:\ @"A",\ @"CNAME",\ @"MX",\ @"TXT",\ @"NS",\ @"AAAA",\ @"SRV",\ @"URL", nil] : ___DPodRecordType) // 枚举 to 字串 #define cDPodRecordTypeString(type) ([cDPodRecordTypeGet objectAtIndex:type]) // 字串 to 枚举 #define cDPodRecordTypeEnum(string) ([cDPodRecordTypeGet indexOfObject:string])

相关文章推荐

把枚举转化为相应的字符串

把枚举转化为相应的字符串      今天无意间就需要这样的一个功能,从枚举值得到对应的字符串表示,一个容易想到的方法就是再造个字符串数组,和ENUM对应起来,显然这个方法没有可扩展性;第二种...

Objective-C常用数据类型之间的转换

OC 常用数据类型之间的转换 1: NSString   NSInteger     NSInteger转化 NSString类型:       [ NSString&...

《Effective Objective-C 2.0》3、枚举类型表示状态、选项

第五条:使用枚举类型表示状态和选项,可以使代码更加清晰,可读性更好。 枚举类型使用关键字enum定义,通常与typedef相结合,定义一组状态或选项: typedef enum CustomState...

iOS开发系列之Objective-C基础:NSString字符串类型(二)

iOS开发系列之Objective-C基础:NSString字符串类型(二)

Objective-C 的基本数据类型、数字、字符串和集合等介绍 (retaincount 释放问题)

http://blog.sina.com.cn/s/blog_662b417f0100s50n.html 基本类型 Objective-C中的基本类型和C语言中的基本类型一样.主要有:...

【转】Objective-C截取字符串时emoji表情的处理

转自:http://blog.csdn.net/liu1347508335/article/details/52484507我们在开发中会经常遇到限制字符串长度的情况,如输入框限制输入字数,我们会经常...

Objective-C的hook方案(一): Method Swizzling

在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法吗?在Objective-C编程中,如何实现hook呢?标题有点大,计划分几...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)