2012-02-22 4 views
1

Я работаю над приложением для личного использования, которое отображает списки связанных слов случайным образом.Отображение списка NSArray изнутри NSDictionary?

С помощью этого сообщества я поместил списки связанных слов в 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 и отображения списка NSStrings проводится в его массиве. Очевидно, что [wordDictionary objectForKey: @"Cats"]; позволяет мне получить доступ к массиву catList, установленному в поле Cats, чтобы отобразить список строк, содержащийся в массиве. Но я хотел бы отображать списки случайным образом и без указания ключа.

Я экспериментировал с [wordDictionary allKeys] и мог случайным образом отображать имя ключа, но не список, хранящийся в массиве.

У кого-нибудь есть указатели на отображение списка NSArray из NSDictionary?

Большое спасибо.

ответ

2

Это то, что вы хотите?

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

Ничего себе, что было быстро. Это именно то, что мне нужно. Спасибо миллион @bneely! Если бы вы не возражали против моего вопроса, как долго вы кодировали? Я только начал две недели назад, и это весело, хотя и сложно. Есть ли какие-либо целевые ресурсы, которые вы бы рекомендовали? Еще раз спасибо. –

+1

Я программировал на неполный рабочий день почти 11 лет, а полный рабочий день в течение двух месяцев. Big Nerd Ranch - это компания, которая занимается подготовкой и изданием книг по программированию; Я прочитал две книги и выполнил все задания. Удачи! – bneely

Смежные вопросы