2010-07-02 62 views
3

我真的很喜欢C++的地图,它编程快速简单。有没有C++的Cocoa等价物?

Cocoa中有类似的东西吗?

我知道我可以混合使用C++和OBJ-C一起,但我宁愿使用更OBJ-C的方式:)

由于编程!

回答

4

尝试NSDictionary/NSMutableDictionary。另一方面,当它是最好的数据结构选择时,你应该使用地图/字典,不仅仅因为它简单快捷(尽管程序员时间很昂贵,正确的结构选择有助于创建更好的整体设计)。当您需要快速查找值时,地图很有意义,而且您不关心它们是否按排序顺序存储。

+0

雅,它其实非常相似,谢谢。 :) – Frost 2010-07-02 23:24:10

+0

map <>的内部表示是排序的,它允许您按排序顺序遍历键值对。 NSDictionary/NSMutableDictionary需要提取键,然后对它们进行排序才能达到相同的目的。我也正在寻找一个Obj-C模拟地图<>,但他们不是。 – George 2011-04-06 17:05:49

+0

@George:是的,但是“订购”是成本。 hash_map(或unordered_map)可以更快速地查找已知键,并可以更快地插入和删除。如果你需要一个排序的关联容器,那么映射<>是有意义的,否则hash_map可能是更好的选择。 – Alan 2011-04-06 17:21:30

2

您可能还想使用NSMapTable。它的主要好处是它不会像NSDictionary那样复制密钥。

+0

另请参见:NSHashTable(仅适用于Mac,不适用于iOS AFAIK)。 – 2011-06-04 22:15:54

相关问题