NSMutableDictionary / NSDictionary vs std :: multimap

时间:2009-01-23 01:17:48

标签: cocoa

它们是一个Cocoa容器类,其功能类似于标准模板库的多重映射,即让您为同一个键设置多个值吗?我一直试图筛选Cocoa文档,但没有这样的运气,也许我只是迟钝了?

3 个答案:

答案 0 :(得分:8)

您的选择:

  • 使用NSMutableSet,NSCountedSet或NSMutableArray实例作为字典值。这种方法非常方便,但确实存在将数据结构的可变性暴露给与之接触的所有人的缺点。

  • 自己写;要么作为NSMutableDictionary的子类,要么是NSObject。

  • 使用现有的解决方案,例如来自OmniGroup的OFMultiValueDictionary。

答案 1 :(得分:2)

不。

获得该行为的最简单方法是使用值为NSSet s,NSCountedSet s或NSArray s的字典。

答案 2 :(得分:0)

要直接使用标准模板库的多图,您可以使用Objective C ++。