计算 NSArray 中 NSDictionarys 中的值
Posted
技术标签:
【中文标题】计算 NSArray 中 NSDictionarys 中的值【英文标题】:Count values in NSDictionarys within an NSArray 【发布时间】:2011-08-24 06:51:56 【问题描述】:我有一个充满 NSDictionary 对象的 NSArray。每个字典对象都有一个 key:value:
颜色:红色
在其他键中...颜色可能是用户生成的多种颜色之一。
我希望能够提取每种颜色并计算每种颜色的数量,所以:
红色:3 个字典 黄色:4 个字典
等等...这到底是怎么可能的?只需遍历字典,直到找到唯一的颜色,然后再次使用 NSPredicate 在数组中搜索该颜色,冲洗,重复吗?
【问题讨论】:
【参考方案1】:您可以只维护一个字典,将颜色映射到具有该颜色的字典数量。例如:
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 中显示结果,这就是为什么我希望它们在 Array 中...我想我可以将每个键作为字典迁移到 NSArray 索引中...以上是关于计算 NSArray 中 NSDictionarys 中的值的主要内容,如果未能解决你的问题,请参考以下文章
从 NSDictionary 对象的 NSArray 中,如何获取唯一的 NSArray
NSDictionary 的 NSArray - 当数组中只有一个字典而不是一个对象的数组时返回 NSDictionary
如何从 NSDictionary 中获取 NSArray 名称?
计算 NSArray 中 NSDictionarys 中的值