【发布时间】:2011-03-17 18:18:05
【问题描述】:
我在 Settings.bundle 中设置了一些首选项,这些首选项在“设置”应用中显示良好。但是,当我读回它们时,我的设置总是返回 nil。我知道我需要在第一次启动时设置一个默认值。但即使在那之后进入设置菜单(也应该设置默认值) - 当我读回它们时,我总是得到零。
即使我设置了默认值并立即读回它,我也得到了 nil!
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"displaySunTimes"];
[defaults registerDefaults:appDefaults];
[defaults synchronize];
bool test =[defaults boolForKey:@"displaySunTimes"];
NSLog(@" Value %@", test);
这是我的 root.plist 的开头
<dict>
<key>StringsTable</key>
<string>Root</string>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Display Sunrise / Sunset times for your location.</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Sunrise / Sunset</string>
<key>Key</key>
<string>displaySunTimes</string>
<key>DefaultValue</key>
<true/>
<key>TrueValue</key>
<string>YES</string>
<key>FalseValue</key>
<string>NO</string>
</dict>
【问题讨论】:
标签: iphone nsuserdefaults