2011-09-14 105 views
0

我希望能夠使用NSString或類似的東西來存儲字符串數組,但通過一個鍵(我認爲這就是它所謂的)來訪問它們,而不是數字索引。Objective C array「key」instead of index

例如,而不是這樣做:

return names[3]; 

做這樣的事情:

return names["Bob"]; 

你如何存儲和檢索這樣的價值觀?

請原諒我缺乏這方面的知識。我一直在使用Objective C大約一年,但從來沒有做過這樣的事情。

回答

6

在Objective-C,這樣做與NSDictionary類及其子類的可變NSMutableDictionary。你可以得到價值使用

NSString *value = [myDictionary objectForKey:@"Bob"]; 
1

這些數組類型從C採取(其中Objective-C是一個超集)只允許整數作爲其索引的關鍵。

您可能希望使用NSDictionary及其objectWithKey樣式的消息。

+1

數組固有地總是按索引....以最終不是的語言命名數組? (出於好奇) – bbum

+0

@bbum我對PHP的知識是有限的..但PHP? –

+0

「PHP中的數組實際上是一個有序地圖。」即它是具有確定鍵順序的字典。坦率地說,這就是所謂的一個數組。沒有詳盡的研究,它似乎更類似於Ruby的Hashes,因爲元素按插入順序排序,但它仍然是幕後的真正地圖/字典。 – bbum