2

私はコアデータを扱っており、WS からコアデータ属性 (Integer 32) に int 値 (id) を割り当てようとしています。属性は NSNumber であり、コーディングすると:

        NSNumber *v = [responseMembers valueForKey:@"id"];
        newMember.idMember = v;

そして、このエラーが表示されます:

2013-06-17 11:08:24.407 EPNet[2190:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unacceptable

属性の値のタイプ: property = "idMember"; 必要なタイプ = NSNumber; 指定されたタイプ = __NSArrayI; 値 = (1, 2, 3, 4, 10, 14, 17, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 20)。

私を助けてくれませんか?

4

1 に答える 1

1

プロパティ idMember は ですNSNumberが、何らかの理由でキーの値が@"id"配列のように見えます (すべての ID が含まれているように見えますか?)

編集: responseMembers はです。NSMutableArrayを要求することはできませんvalueForKey。代わりに次のようにしてみてください。

foreach (NSDictionary *member in responseMembers)
{
    NSNumber *v = [member valueForKey:@"id"];
    //do something with this id
}

あなたが読んでいるjsonは、多くの辞書を持つ配列のように見え、あなたのIDは1層深いです:

[
  //first member
  {
    "content": "some entry",
    "id": 5,
    // some more attributes
  },
  //second member
  {
    "content": "some entry",
    "id": 5,
    // some more attributes
  },
  //and so on
]
于 2013-06-17T09:24:05.523 に答える