Я хочу прочитать список имен и псевдонимов из созданного мной plist, а затем случайным образом выбрать имя и фамилию для класса Person.Создание случайных имен из plist
Плис имеет эту структуру;
Root (Dictionary)
-> Names (Dictionary)
--> Forenames (Array)
---> Item 0 (String) "Bob"
---> Item 1 (String) "Alan"
---> Item 2 (String) "John"
--> Surnames (Array)
---> Item 0 (String) "White"
---> Item 1 (String) "Smith"
---> Item 2 (String) "Black"
Я был в состоянии вывести все ключи для словаря, но я не уверен в том, как захватить «» или отчество «Фамилия» ключ, а затем хранить это в массиве.
Код для вывода всех ключей - это простой вывод в журнал.
ie;
// Make a mutable (can add to it) dictionary
NSMutableDictionary *dictionary;
// Read foo.plist
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"foo.plist"];
dictionary = [NSDictionary dictionaryWithContentsOfFile:finalPath];
// dump the contents of the dictionary to the console
for (id key in dictionary)
{
NSLog(@"Bundle key=%@, value=%@", key, [dictionary objectForKey:key]);
}
NSMutableArray *forenames;
// This doesn't work, it outputs an empty array
forenames = [dictionary objectForKey:@"Forenames"];
NSLog(@"Forenames:%@", forenames);
вопросы;
Как сделать, чтобы мои имена NSMutableArray * принимали содержимое словаря «Forenames»?
Как только я сохранил и имя и фамилию в своих собственных NSMutableArrays, мне нужно случайным образом выбрать имя и фамилию; Каков наилучший способ сделать это?
Идея состоит в том, что я могу создать файл Person.m с переменными класса Forename/Surname, и я могу создавать случайно сгенерированные люди.
Спасибо.
Я думаю, это подразумевалось, но дамп содержимого словаря выглядит так, как ожидалось? Является ли весь этот код частью того же метода? Кроме того, стоит отметить, что массивы, хранящиеся во вновь создаваемом словаре, неизменяемы, поэтому вам нужно называть 'mutableCopy', если вы хотите их модифицировать. – Endemic