2010-11-13 2 views
1

Я читал Apple Programming Guide на эту тему, но не мог понять это.Как читать из настроек приложения?

Я создал пакет настроек с помощью following tutorial, и я пытался доступ к моим предпочтениям (отредактированные вручную), как это:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

[self setShouldPlaySounds:[defaults boolForKey:@"play_sounds_preference"]]; 

для «Key» Я использовал ключевое значение, введенное в редакторе XML (двойной щелчок на Root.plist). Я знаю, что вы можете создавать предпочтения с помощью ключа «Идентификатор» и «DefaultValue», но я не хочу, чтобы настройки были доступны в установочном приложении, я просто хочу, чтобы у меня были две строки с некоторыми строками для моих пользовательских настроек.

  1. Что я делаю неправильно? Почему я не могу получить значение настроек?
  2. Проще создать собственный файл конфигурации? Внедрение сериализатора.

ответ

0

Вы устанавливаете значение в любом месте? И какое поведение вы видите в отношении ценности shouldPlaySounds?

Что произойдет, если вы выполните это в первую очередь?

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setBool:YES forKey:@"play_sounds_preference"]; 
BOOL result = [defaults synchronize]; // force immediate saving of defaults. 
NSLog(@"[defaults synchronize] returned %d", result); 
+0

Я запустил ваш код, а затем прочитал значение, и оно сработало! И после, я удалил ваш код, и он по-прежнему был увязан! Затем я добавил еще одну строку в настройки (вручную) и снова - ничего хорошего. Не могли бы вы объяснить, почему я должен запускать этот код? Можно ли только один раз запустить? Я не могу запустить его снова, потому что пользовательские настройки исчезнут. – AYBABTU

+0

Не могли бы вы объяснить, что такое «нехорошо»? Крушение приложения? И пытаетесь ли вы получить значения, которые еще не были написаны? – westsider

+0

Это не сбой, я работаю с целыми значениями (не как вопрос), и я получаю нулевые значения, если раньше я не использовал ваш код. Зачем мне это нужно? можете ли вы сослаться на блог-постер или что-нибудь еще? Благодаря! – AYBABTU