Чтение данных из файла 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?

Ответы

Ответ 1

Попробуйте [NSDictionary objectForKey:]

Где Key - это имя члена в plist.

Например:

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

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

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

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

Ответ 2

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

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

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

[Dictionary boolForKey:@"preference"];