サーバーから戻ってくる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にかなり慣れていないので、私が知っている限り、これを完全に間違っている可能性があり、提案を受け付けています。