Чтение данных из файла plist

Я пытаюсь реализовать состояние сохранения для моего приложения для iPhone.

У меня есть файл plist с именем SaveData.plist, и я могу прочитать его с помощью следующего

NSString *pListPath2 = [bundle pathForResource:@"SaveData" ofType:@"plist"];
NSDictionary *dictionary2 = [[NSDictionary alloc] initWithContentsOfFile:pListPath2];

self.SaveData = dictionary2;
[dictionary release];

В файле Plist есть участники

SavedGame, который является логическим значением, чтобы сообщить приложению, действительно ли здесь есть действительные данные (если они не выходили из приложения в середине игры, я не хочу, чтобы они были точкой восстановления.

Оценка, которая является NSNumber. Время, которое является NSNumber

Playfield, представляющий собой 16-элементный массив NSNumbers

Как я могу получить доступ к этим элементам внутри NSDictionary?

Ответы на вопрос(2)

[Dictionary setBool:TRUE forKey:@"preference"];

Для получения значения Bool вы можете использовать:

[Dictionary boolForKey:@"preference"];

Решение Вопроса

[NSDictionary objectForKey:]

Где Key - это имя участника в списке.

Например:

BOOL save = [[dictionary2 objectForKey:@"SavedGame"] boolValue];

сохранит объект, сохраненный в листе для ключа SavedGame, в новую BOOL с именем save.

Я полагаю, что ваш логический SavedGame на самом деле хранится вNSDictionary какNSNumberследовательно, использование boolValue для получения логического значенияNSNumber.

Попробуйте эту документацию:Справочник по Apple NSDictionary.

 01 июл. 2009 г., 06:23
Всегда используйте -objectForKey: если вы звоните напрямую & # x2014; если вы читаете документы, -valueForKey: используется для наблюдения значения ключа и привязки какао. Он не вернет неправильный результат, но в этом случае он делает ненужную работу.

Ваш ответ на вопрос