Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSArray中NSDictionary中的计数值_Iphone_Ios_Nsarray_Nsdictionary_Nspredicate - Fatal编程技术网

Iphone NSArray中NSDictionary中的计数值

Iphone NSArray中NSDictionary中的计数值,iphone,ios,nsarray,nsdictionary,nspredicate,Iphone,Ios,Nsarray,Nsdictionary,Nspredicate,我有一堆NSDictionary对象。每个dictionary对象都有一个key:value: 颜色:红色 在其他钥匙中。。。颜色可以是用户生成的许多颜色之一 我希望能够提取每种颜色并计算每种颜色的数量,因此: 红色:3本字典 黄色:4本字典 等等。。。这到底是怎么可能的?只需遍历字典,直到找到唯一的颜色,然后使用NSPredicate再次搜索该颜色的数组,然后冲洗,重复?您只需维护字典映射颜色到具有该颜色的字典数量。例如: NSMutableDictionary *counts = [NSMu

我有一堆NSDictionary对象。每个dictionary对象都有一个key:value:

颜色:红色

在其他钥匙中。。。颜色可以是用户生成的许多颜色之一

我希望能够提取每种颜色并计算每种颜色的数量,因此:

红色:3本字典 黄色:4本字典


等等。。。这到底是怎么可能的?只需遍历字典,直到找到唯一的颜色,然后使用NSPredicate再次搜索该颜色的数组,然后冲洗,重复?

您只需维护字典映射颜色到具有该颜色的字典数量。例如:

NSMutableDictionary *counts = [NSMutableDictionary dictionary];
for (NSDictionary *dict in myArray) {
    NSString *color = [dict objectForKey:@"color"];
    NSNumber *val = [counts objectForKey:color];
    val = [NSNumber numberWithUnsignedInteger:1+[val unsignedIntegerValue]];
    [counts setObject:val forKey:color];
}

谢谢你。我希望在UITableView中显示结果,这就是为什么我希望将结果显示在数组中。。。我想我可以将每个键作为字典迁移到NSArray索引中。。。