2014-07-06 57 views
0

我在計算出是否可以訪問已設置爲字典中的字符串鍵的對象的數組的元素時遇到了一些問題。因此,舉例來說,如果我有一個設置,如下面的每個陣列給我的書和代表的書籍類型的字典鍵列表:訪問數組元素是NSDictionary中的對象

NSArray * list1= @[@"Book1",@"Book2",@"Book3"]; 
NSArray * list2= @[@"Book4",@"Book5",@"Book6"]; 
NSArray * list3= @[@"Book7",@"Book8",@"Book9"]; 
NSDictionary * libraryDict = @{@"category1": list1,@"category2":list2, @"category3":list3}; 

我怎麼會通過字典訪問數組中的單個元素?那可能嗎?

我希望能做的就是一旦選擇了一個鍵,就爲書籍列表選擇一個隨機條目。因此,如果用戶決定他們想要從category1獲得隨機圖書推薦,那麼我可以從list1數組中產生隨機選擇。

我剛剛開始與目標C所以道歉,如果這是一個n00b問題。

回答

0

是的,它是可能的,

對於如。對於列表1陣列取像下面:

NSLog(@"%@",[libraryDict objectForKey:category1]); 

如果您要訪問組別的各個元素,然後嘗試以下:

for(NSString str in [libraryDict objectForKey:category1]) 
{ 
NSLog(@"%@", str); 
} 
+0

現在將顯示數組category1中的所有元素,並且我沒有問題。但是,如何訪問category1中的各個元素? – lemur81

+0

已更新答案 –

0

你可以寫:

NSArray *value = (NSArray *)libraryDict[@"category1"]; 

它將返回與鍵值「@"category1"」配對的值(在您的情況下,NSArray「list1」)。