将枚举值保存到字典中
如何将枚举值保存到字典中?
当我尝试以下操作
enum someEnum
{
field0 = 0,
field1 = 1,
field2 = 2,
};
enum someEnum someEnumObject;
并尝试使用将其保存到字典中
时[NSDictionary 字典WithObjectsAndKeys:]
someEnumObject, @"enum",
我明白了
警告:语义问题:整数到指针转换不兼容,将“枚举行为”发送到“id”类型的参数
How does one save an enum value to a dictionary?
When I try the following
enum someEnum
{
field0 = 0,
field1 = 1,
field2 = 2,
};
enum someEnum someEnumObject;
and I try to save it to a dictionary using
[NSDictionary dictionaryWithObjectsAndKeys:]
someEnumObject, @"enum",
I get this
warning: Semantic Issue: Incompatible integer to pointer conversion sending 'enum behaviour' to parameter of type 'id'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用以下命令将其保存到字典中,
您可以将其检索为,
Use the following to save it to dictionary,
And you can retrieve it as,
最好使用 NSNumber 文字将枚举转换为对象,以便可以将其存储在 NSDictionary 中:
文字提供了编写内容的简写,该字典可以这样编写:
在此处阅读有关文字的更多信息:
http://clang.llvm.org/docs/ObjectiveCLiterals.html
Better use NSNumber literals to convert an enum to an object so that it can be stored in NSDictionary:
Literals provide shorthands to write stuff, this dictionary can be written like:
Read more about literals here:
http://clang.llvm.org/docs/ObjectiveCLiterals.html
enum
本质上是一个整数,而NSDictionary
存储对象,因此您需要将枚举转换为对象。NSNumber
可以很好地解决这个问题:An
enum
is essentially an integer and anNSDictionary
stores objects, so you need to convert your enum to an object. AnNSNumber
would work well for this:在现代,
@(enumValue)
是更简单的方法。In modern times
@(enumValue)
is the easier approach.