4

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

4

1 に答える 1