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