我创建了一个settings.bundle并添加了一些项目。现在我正试图从我的应用程序中访问它们的值。
我正在使用标准Apple示例:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[self setShouldPlaySounds:[defaults boolForKey:@"play_sounds_preference"]];
// Finish app initialization...
}
我已将play_sound_preferences
更改为捆绑包中的标识符。当我的应用程序运行时,没有返回错误,但值为0,即使我已将值设置为10.这已得到确认:当我查看设置时,滑块处于10%标记。
我错过了什么吗?
这是实际的代码块:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
searchRadius = [defaults floatForKey:@"SearchRadius"];
returnResults = [defaults integerForKey:@"RecordReturnCount"];
// ...
}
答案 0 :(得分:0)
没有任何其他代码,我只能建议你没有正确设置SearchRadius和RecordReturnCount。他们将遵循:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setFloat: searchRadius forKey: @"SearchRadius"];
[defaults setInteger: returnResults forKey: @"RecordReturnCount"];
我使用过这段时间已经有一段时间但是我不记得那么困难。如果你查看你的首选项,你应该看到com.YOURCOMPANYHERE.YOURPROGRAM.plist - 检查它以查看你可能出错的地方是微不足道的。
编辑:顺便说一下,我从来没有使用过包来初始化设置 - 通常我会有一个名为@“Initialized”的标志 - 如果你访问它并且它返回NO,那么你还没有设置你的用户设置并可以设置它们......一定要将@“Initialized”设置为YES!这将消除对设置包的需求。