0

我按照教程:http ://useyourloaf.com/blog/2010/5/18/adding-a-settings-bundle-to-an-iphone-app.html

而“随机切换”(我刚刚根据教程创建的)不在设置应用程序中。每次我对开关的状态执行 NSLog 时,它都会返回“(null)”。“幻灯片开关”(以相同的方式创建)工作正常。

我的设置捆绑 Root.plist 文件如下所示:(复制链接并粘贴到 Web 浏览器)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"];
4

1 回答 1

1

看来,您正在放置字符串对象并试图获取布尔值。你应该或者拿出像这样的字符串

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

或将布尔值放在首位,如下所示:

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

然后您可以将其检索为

BOOL enabled = [defaults boolForKey:@"ShuffleToggleKey"];
于 2010-12-04T18:33:00.510 回答