在单个数组

时间:2015-09-07 11:09:40

标签: ios objective-c nsarray

此代码:

server_response = [{id:1},{id:2},{id:3},{id:4}]

我现在得到了服务器的响应,我现在只想要一个数组中的id列表,如

ids = [1,2,3,4];

我知道我们可以通过for循环来完成但是如果响应数组中有数千个ID需要很长时间。

有没有更好的方法来实现上述等式?

3 个答案:

答案 0 :(得分:2)

NSMutableArray *resultArray = [NSMutableArray array];
for (NSDictionary *dict in server_response) {

    [resultArray addObject:[dict objectForKey:@"id"]];
}

尝试以上代码。希望它会对你有所帮助。结果数组具有最终值

答案 1 :(得分:2)

NSArray *result = [yourArray valueForKey:@"id"]

来自NSArray实例方法valueForKey:

的文档
  

返回一个数组,其中包含调用valueForKey的结果:在每个数组的对象上使用键

答案 2 :(得分:0)

NSArray *server_response =  @[@{@"id":@"1"},@{@"id":@"2"},@{@"id":@"3"},@{@"id":@"4"}];  

    NSMutableArray *resultArray = [NSMutableArray array];

    NSString *birdtemp;
    for (NSDictionary *object in server_response) {
        birdtemp = object[@"id"];
        [resultArray addObject:birdtemp];
    }
    NSLog(@"%@",resultArray);

OutPut:[     1,     2,     3,     4 ]