2013-07-17 2 views
0

Я создал плагин под названием «appData.plist» в разделе поддерживающих файлов Xcode. У меня есть ключ, называемый «keyone», и я пытаюсь получить его значение. Я пытаюсь зарегистрировать значение для консоли с NSLog, но не работает.Получить и обновить значение plist

Как вы это делаете? Я искал google, и есть много способов, но никто не работает для меня.

NSString *myFile = [[NSBundle mainBundle] pathForResource: @"appData" ofType: @"plist"]; 
NSDictionary *myDict = [NSDictionary dictionaryWithContentsOfFile:myFile]; 
NSString *viewCover = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"keyone"]; 

Это то, что я пробовал, но все это заканчивается ошибки, я не могу войти, и я получаю сообщение об ошибке «непригодных для использования переменной».

+0

Ваш файл 'appData.plist' правильно добавлен в вашу цель и скопирован правильно? – danielbeard

+0

Почему вы получаете значение '' 'keyone''' из информационного словаря? Не хотите ли вы '' 'NSString * viewCover = [myDict objectForKey: @" keyone "];' ''? – gtmtg

+0

Извините, это одно из моих первых случаев с ios, но что вы подразумеваете под добавлением цели? Все написано правильно, если это то, что вы имеете в виду, скопировав правильно. – lostAstronaut

ответ

1

objectForInfoDictionaryKey метод возвращает значение из Info.plist файла вашего приложения, который не то, что вы хотите - вы хотите, чтобы извлечь его из словаря myDict. Вы упомянули, что значение на самом деле является логическим, поэтому заменить последнюю строку на

BOOL viewCover = [[myDict objectForKey:@"keyOne"] boolValue]; 
+0

Отлично, как я могу записать это на консоль? – lostAstronaut

+0

NSLog (viewCover? @ "YES": @ "NO"); ? – lostAstronaut

+0

@lonelyAstronaut Да, это должно сработать. – gtmtg

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