Iphone 具有int值的属性的值类型不可接受

Iphone 具有int值的属性的值类型不可接受,iphone,objective-c,arrays,core-data,nsnumber,Iphone,Objective C,Arrays,Core Data,Nsnumber,我处理核心数据,并尝试从WS向核心数据属性(整数32)分配一个int值(id)。该属性是一个NSNumber,当我对其进行编码时: NSNumber *v = [responseMembers valueForKey:@"id"]; newMember.idMember = v; 此时会出现以下错误: 属性值的类型:property=“idMember”;所需类型= NSN编号;给定类型=uu NSArrayI;值=( 1. 2. 3. 4. 10, 14, 1

我处理核心数据,并尝试从WS向核心数据属性(整数32)分配一个int值(id)。该属性是一个NSNumber,当我对其进行编码时:

        NSNumber *v = [responseMembers valueForKey:@"id"];
        newMember.idMember = v;
此时会出现以下错误:

属性值的类型:property=“idMember”;所需类型= NSN编号;给定类型=uu NSArrayI;值=( 1. 2. 3. 4. 10, 14, 17, 5. 6. 7. 8. 9, 11, 12, 13, 15, 16, 18, 19, "


你能帮我吗

属性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
]

显示
idMember
的声明。由xcode生成的声明:@property(非原子,retain)NSNumber*idMember;响应成员是什么?WS是:我保留“id”值。为什么是数组而不是NSNumber值@带AFN的Herm:
NSURL*url=[NSURL URLWithString:@”http://www.epnet.fr/members.json"];     NSURLRequest*request=[nsurlRequestRequestWithURL:url];AFJSONRequestOperation*操作=[AFJSONRequestOperation JSONRequestOperationWithRequest:请求成功:^(NSURLRequest*请求,NSHTTPURLRResponse*响应,id JSON){NSMUTABLEARRY*响应成员=[[NSMUTABLEARRY alloc]init];响应成员=JSON;}失败:^(NSURLRequest*request,NSHTTPURLResponse*response,NSError*error,id JSON){NSLog(@“失败的响应:%@”,JSON);}];[operation start];
@Benjamin:
responseMembers
是许多字典的数组,每个字典都包含一个“id”值。
[responseMembers valueForKey:@“id”]
然后是一个包含所有ID的数组。您希望分配给
newMember
的众多ID中的哪一个?好的。因此,对于每个成员,我必须创建一个如下的词汇表:
NSMutableArray*dicoNew=[responseMembers objectAtIndex:I]
但它不起作用…@Hermno,你必须创建一个类似于
NSDictionary*dicoNew=[responseMembers objectAtIndex:i]的字典;
你的类型声明错了。
[
  //first member
  {
    "content": "some entry",
    "id": 5,
    // some more attributes
  },
  //second member
  {
    "content": "some entry",
    "id": 5,
    // some more attributes
  },
  //and so on
]