2012-02-22 55 views
1

我正在開發一款適用於個人用途的應用程序,用於隨機顯示關聯詞的列表。從NSDictionary中顯示一個NSArray列表?

在此社區的幫助下,我已將相關單詞列表放入NSArrays中。例如:

NSArray *catList = [NSArray arrayWithObjects:@"Lion", @"Snow Leopard", @"Cheetah", nil]; 
NSArray *dogList = [NSArray arrayWithObjects:@"Dachshund", @"Pitt Bull", @"Pug", nil]; 
... 

而且我把這些數組到一個NSDictionary:

NSMutableDictionary *wordDictionary = [[NSMutableDictionary alloc] init]; 
     [wordDictionary setObject: catList forKey:@"Cats"]; 
     [wordDictionary setObject: dogList forKey:@"Dogs"]; 
... 

我希望做的是隨機選擇的NSDictionary鍵中的一個,並顯示NSString的持有名單在它的陣列中。很顯然,[wordDictionary objectForKey: @"Cats"];允許我訪問設置爲Cats鍵的catList數組,以顯示數組中保存的字符串列表。但我想隨機顯示列表而不指定鍵。

我用[wordDictionary allKeys]進行了實驗,可以隨機顯示一個密鑰的名稱,但不能保存在數組中。

有沒有人有任何指針顯示從NSDictionary的NSArray列表?

非常感謝。

回答

2

這是你想要的嗎?

NSInteger keyCount = [[wordDictionary allKeys] count]; 
NSInteger randomKeyIndex = random() % keyCount; 
NSString *randomKey = [[wordDictionary allKeys] objectAtIndex:randomKeyIndex]; 
NSArray *randomlySelectedArray = [wordDictionary objectForKey:randomKey]; 
+0

哇,這很快。這正是我需要的。多謝@百萬!如果你不介意我的問題,你有多長時間編碼?我剛剛兩週前就開始了,這很有趣,雖然令人生畏。是否有任何你會推薦的目標資源?再次感謝。 – 2012-02-22 02:54:02

+1

我已經做了近11年的兼職編程,並且全職工作了兩個月。 Big Nerd Ranch是一家培訓和出版編程書籍的公司,我閱讀了他們的兩本書並完成了所有的作業。祝你好運! – bneely 2012-02-22 02:55:44