我使用核心数据,我尝试将WS的int值(id)分配给核心数据属性(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的;给定type = __NSArrayI;值=( 1, 2, 3, 4, 10, 14, 17, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 20)。'
答案 0 :(得分: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更深一层:
[
//first member
{
"content": "some entry",
"id": 5,
// some more attributes
},
//second member
{
"content": "some entry",
"id": 5,
// some more attributes
},
//and so on
]