我在 Root.plist 中有一个设置,其中 Key = 'latestNews' 类型为 PSToggleSwitchSpecifier 和 DefaultValue 作为已检查的布尔值。如果我理解正确,当我将它拉入我的代码时它应该 = YES。我正在尝试检查该值并设置一个 int var 以将其传递给我的 php 脚本。发生的事情是我的布尔值是 nil 或 NO,然后我的 int var = 0。我做错了什么?
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];
更新:真正的问题是我无法检索任何设置值。我将布尔设置更改为字符串,类似于书籍示例。所以现在我的设置有一个 TrueValue = "On" 和一个 FalseValue = "Off" 和一个 DefaultValue = "On"。我现在正在尝试使用上面的代码检索此设置。鉴于这是默认值,它应该 =“开”,但是我的 int 最终 = 0,这表明我根本没有读取设置。