iPhone Xcode Settings.bundle Plist Помощь - PullRequest
0 голосов
/ 04 декабря 2010

Я следовал за учебником: http://useyourloaf.com/blog/2010/5/18/adding-a-settings-bundle-to-an-iphone-app.html

А «Переключатель в случайном порядке» (который я только что создал на основе учебника) не был в приложении «Настройки». Каждый раз, когда я делал NSLog для состояния коммутатора, он возвращал «(ноль)». «Переключатель слайд-шоу» (который был создан таким же образом) работал нормально.

Мой пакет настроек Root.plist выглядит следующим образом: (скопируйте ссылку и вставьте в веб-браузер) i.imgur.com/kb8DT.png

Пожалуйста, помогите, когда мне нужно создать, и получите доступ к тумблеру, созданному в файле .plist. Я новичок в программировании iPhone.

Вот код, который я использую для установки переключателя пользовательских настроек:

// Set the application defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"ShuffleToggleKey"];
[defaults registerDefaults:appDefaults];
[defaults synchronize];

А вот код, который я использую для получения состояния переключателя пользовательских настроек:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL enabled = [defaults boolForKey:@"ShuffleToggleKey"];

1 Ответ

1 голос
/ 04 декабря 2010

Кажется, вы помещаете строковый объект и пытаетесь получить логическое значение. Вы должны или получить строку, как

NSString *enabledStr = [defaults stringForKey:@"ShuffleToggleKey"];
BOOL enabled = [enabledStr boolValue];

или поставить логическое значение на первое место, например:

  [defaults setBool:YES forKey:@"ShuffleToggleKey"];

Тогда вы можете получить его как

BOOL enabled = [defaults boolForKey:@"ShuffleToggleKey"];
...