此代码:
server_response = [{id:1},{id:2},{id:3},{id:4}]
我现在得到了服务器的响应,我现在只想要一个数组中的id列表,如
ids = [1,2,3,4];
我知道我们可以通过for循环来完成但是如果响应数组中有数千个ID需要很长时间。
有没有更好的方法来实现上述等式?
答案 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 ]