2010-05-26 48 views
1

我想創建一個NSDictionary(或類似的東西),每個值有兩個鍵。它將用於英語/西班牙語單詞查詢,其中:NSDictionary:每個值有兩個鍵?

  • 每個值都是包含英語和西班牙語中所有共軛動詞的數組。
  • 每個(二)項既包含英語動詞不定式(如「是」,「去」)和西班牙不定式

這樣一來,我可以看看一個字了,無論語言的基礎上,值每個值有兩個鍵。

下面是一個例子:

  • 鍵: 「要」 或 「querer」
  • 值: 「希望」, 「希望」, 「希望」, 「希望」, 「希望」, 「quiero」,「quieres」,「quiere」,「queremos」,「quieren」]
+0

另外,如果有這樣比使用一個NSDictionary一個更好的辦法,請讓我知道,因爲這不是一成不變設置爲NSDictionary的。 – Derek 2010-05-26 01:40:25

回答

3

只需添加與共軛動詞陣列兩次的兩個不同的密鑰,則該值僅僅是一個指針陣列,所以很少有內存開銷。當你檢索「want」或「querer」的值時,你實際上得到了與你想要的完全相同的數組。

問候, 塞巴斯蒂安·梅克倫堡

+0

謝謝塞巴斯蒂安。這是否意味着我將不得不爲每個動詞創建單獨的數組變量(例如NSArray * want = [[NSArray alloc] initWithObject ...等等),或者我可以在字典中分配兩次數組它仍然只會在內存中使用1個空間? – Derek 2010-05-26 02:12:21

+1

@Derek:你不需要創建單獨的變量,你絕對不應該創建兩個單獨的數組。您使用英文鍵將數組添加到字典中,然後再使用西班牙語鍵。同一陣列兩次。你可以用同一個變量來做。 – Chuck 2010-05-26 02:27:17

+0

@derek查克是正確的,不要分配數組兩次,做這樣的事情:NSArray * want = [[NSArray alloc] initWithObject ...]; [dict setObject:want forKey:@「want」]; [dict setObject:want forKey:@「querer」]; (對不起,評論似乎不支持代碼標籤:-) – 2010-05-26 02:57:09

相關問題