应用程序中的NSUserDefaults未在iPhone设置应用程序中更新视图

时间:2010-03-26 03:18:44

标签: iphone application-settings

当我更改并同步我的应用中的值时,它们会被保存,但更改不会显示在设置应用中。有没有办法让他们同步,同时保持在应用程序内部进行更改的能力?这是我的代码:

//I'm registering the defaults from the Settings bundle I created using David Keegan's class inside my application delegate
+ (void)initialize{
    if([self class] == [VirtualVeloAppDelegate class]){
        [InAppSettings registerDefaults];
    }
}

//I'm accessing the values like so
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[ud boolForKey:@"_someKey"]

//I'm setting the values like so
[[NSUserDefaults standardUserDefaults] setBool:switch.isOn forKey:@"_someKey"];

//After I'm done I sync
[ud synchronize];

我的应用程序在iPad和iPhone上都可以准确地保存和调用这些值。但是,他们没有更新“设置”应用。

我认为我没有找到明确解释的事实可能表明Settings.bundle参数只能在“设置”应用中修改。

2 个答案:

答案 0 :(得分:0)

虽然我在我的应用程序中使用了Keegan3d的InAppSettings代码并且它无法正常工作,但我使用了该项目的新下载而没有任何修改,并且它有效。因此,如果正确实施,this project的代码可以正常工作。我不确定我哪里出错了。

答案 1 :(得分:0)

通常,如果您从应用更新,则应更新设置。 检查您是否在“设置”应用中修改,是否在应用中获得了修改后的值? 检查您是否正确注册默认值。 正如你所说的iPad,你必须使用3.2.x测试版。我猜猜测试版是否没有问题。