2010-07-02 100 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

相關問題