2

我使用核心数据,并尝试将一个 int 值 (id) 从 WS 分配给核心数据属性 (Integer 32) 。该属性是一个 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 是 a NSNumber,但由于某种原因,您的键的值@"id"似乎是一个数组(看起来所有 id 都在其中?)

编辑:responseMembers 是一个NSMutableArray,你不应该要求一个valueForKey。尝试这样的事情:

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

您正在阅读的 json 看起来像一个包含许多字典的数组,并且您的 id 更深一层:

[
  //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 回答