Iphone 将枚举值保存到字典中
如何将枚举值保存到字典 当我尝试以下方法时Iphone 将枚举值保存到字典中,iphone,objective-c,ios,nsdictionary,Iphone,Objective C,Ios,Nsdictionary,如何将枚举值保存到字典 当我尝试以下方法时 enum someEnum { field0 = 0, field1 = 1, field2 = 2, }; enum someEnum someEnumObject; 我试着用 [NSDictionary Dictionary WithObjectsAndKeys:] 我明白了 警告:语义问题:不兼容的整数到指针转换将“枚举行为”发送到“id”类型的参数 enum本质上是一个整数,NSDictionary存储对象,因此需要
enum someEnum
{
field0 = 0,
field1 = 1,
field2 = 2,
};
enum someEnum someEnumObject;
我试着用
[NSDictionary Dictionary WithObjectsAndKeys:]
我明白了
警告:语义问题:不兼容的整数到指针转换将“枚举行为”发送到“id”类型的参数
enum
本质上是一个整数,NSDictionary
存储对象,因此需要将enum转换为对象。NSNumber
适用于以下情况:
[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:someEnumObject], @"enum", nil];
使用以下命令将其保存到字典中
[NSNumber numberWithInt:enumValue], @"enum",
你可以把它作为
enumValue = [[dictionary valueForKey:@"enum"] intValue];
最好使用NSNumber文字将枚举转换为对象,以便将其存储在NSDictionary中:
[NSDictionary dictionaryWithObjectsAndKeys:@(someEnumObject), @"enum", nil];
文字提供了写东西的简写方式,本词典的编写方式如下:
@{@"enum":@(someEnumObject)};
请在此处阅读有关文字的更多信息:
在现代@(enumValue)
是更简单的方法
@{@"enum":@(someEnumObject)};