Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将枚举值保存到字典中_Iphone_Objective C_Ios_Nsdictionary - Fatal编程技术网

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)};