我有一堆从服务器返回的 JSON 对象,我试图在我的目标 C 中对它们进行一些标准化。
我有这个枚举:
//VP_STATUS
typedef enum {
VP_STATUS_NA,
VP_STATUS_STEXP,
...
VP_STATUS_COUNT
} VP_STATUS;
我有一个函数将 JSON 对象(这是一个 NSMutableDictionary)中的字符串映射到这个枚举,然后我尝试在 NSMUtableDictionary 上设置一个键“状态”,如下所示:
VP_STATUS status = [myStringToEnumMappingFunction:[p objectForKey:@"status_label"]];
[p setValue:status forKey:@"status"];
但是,在 setValue:forKey 行我收到此错误:
"Implicit conversion of VP_STATUS to id is disallowed with ARC"
我首先必须将状态转换为其他东西吗?如果是这样,那么就违背了使用定义为 VP_STATUS 的消息的目的,不是吗?
我对objective-c还很陌生,所以就我所知,我可能会完全错误地这样做,并且愿意接受建议。