У меня есть настройка в Root.plist с Key = 'latestNews' типа PSToggleSwitchSpecifier и DefaultValue как проверяемое булевое. Если я правильно это понимаю, он должен = ДА, когда я введу его в свой код. Я пытаюсь проверить это значение и установить int var, чтобы передать его моему скрипту php. Что происходит, так это то, что мое логическое значение - либо nil, либо NO, а затем my int var = 0. Что я делаю неправильно?Как проверить настройку bool в моем приложении iphone
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
int latestFlag = ([[prefs objectForKey:@"latestNews"] isEqualToString:@"On"]) ? 1 : 0;
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://www.mysite.com/folder/iphone-test.php?latest=%d", latestFlag];
NSURL *url = [[NSURL alloc] initWithString:urlstr];
//these are auto-released
NSString *ans = [NSString stringWithContentsOfURL:url];
NSArray *listItems = [ans componentsSeparatedByString:@","];
self.listData = listItems;
[urlstr release];
[url release];
ОБНОВЛЕНО: Реальная проблема заключается в том, что я не в состоянии получить любые значения параметров. Я изменил значение boolean на строку, аналогичную примеру книг. Итак, теперь моя настройка имеет TrueValue = "Вкл." И FalseValue = "Выкл." С DefaultValue = "Вкл.". Теперь я пытаюсь восстановить этот параметр с помощью кода выше. Он должен = «Вкл.», Если это значение DefaultValue, однако мой int завершается = 0, что говорит о том, что я вообще не читаю настройки.
Я все еще расследую, но я начинаю думать, что проблема связана с подключением моего приложения к Settings.bundle. Пример приложения AppSettings в книге начинается с шаблона приложения Utility - и мое приложение представляет собой стандартное приложение на основе View. Поэтому я пытаюсь сравнить некоторые другие коды различий. – dusk