【问题标题】:Saving enum values into a dictionary将枚举值保存到字典中
【发布时间】:2011-07-12 11:48:00
【问题描述】:
如何将枚举值保存到字典中?
当我尝试以下操作时
enum someEnum
{
field0 = 0,
field1 = 1,
field2 = 2,
};
enum someEnum someEnumObject;
我尝试使用
将其保存到字典中
[NSDictionary dictionaryWithObjectsAndKeys:]
someEnumObject, @"enum",
我明白了
警告:语义问题:不兼容的整数到指针转换将“枚举行为”发送到“id”类型的参数
【问题讨论】:
标签:
iphone
objective-c
ios
nsdictionary
【解决方案1】:
使用以下内容将其保存到字典中,
[NSNumber numberWithInt:enumValue], @"enum",
您可以将其检索为,
enumValue = [[dictionary valueForKey:@"enum"] intValue];
【解决方案3】:
enum 本质上是一个整数,NSDictionary 存储对象,因此您需要将枚举转换为对象。 NSNumber 可以很好地解决这个问题:
[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:someEnumObject], @"enum", nil];