Objective C - 具有重复键的键值对集合

时间:2011-06-08 12:10:29

标签: objective-c collections

ObjectiveC是否为Key-Value-Pairs提供了一个允许密钥多次出现的集合?

我尝试将xml文件解析为一些简单的结构。每个东西都已经使用嵌套的NSDictionary,但现在xml元素可以多次出现。

编辑:我的解决方案

我选择了一个带有KeyValuePairs的NSArray,结果发现我需要一些对命令敏感的东西,NSDictionary是不可能的。 Sideeffect:NSFastEnumeration很容易以这种方式实现我的收藏。

3 个答案:

答案 0 :(得分:4)

不,Cocoa没有这样的收藏品。如果您不想使用第三方库,则可以使用NSDictionary NSArray值来模拟该库。或者您可以查看CHDataStructures框架。

答案 1 :(得分:3)

这不是一个很好的钥匙......

最好的办法是拥有一个NSDictionary,并为每个密钥提供一个NSArray,其中包含针对该密钥的所有值。

答案 2 :(得分:1)

或者NSArray持有尽可能多的NSDictionaries(或NSObjects,每个都有一个键和一个值属性)。然后,您将能够使用谓词过滤数组,以查找特定键及其相关值的所有匹配项。