iOS 4上的设置不会更新

时间:2011-03-28 19:36:12

标签: iphone nsuserdefaults settings.bundle

我有一个带有一些UI自定义的设置包,

问题是如果应用程序关闭并且我更改了设置,当我打开它时它会更新。但是在iOS 4中,如果应用程序在后台并且我更改了设置,则在我关闭应用程序并重新打开它之前它根本不会更新。

我的NSUSerDefaults阅读代码如下:

NSUserDefaults *savedData = [NSUserDefaults standardUserDefaults];
NSInteger size = [savedData integerForKey:@"size"];

在viewWillAppear上,因为每次加载视图时都应调用此方法,因为它正在启动或来自后台。

那里有很多NSUserDefaults代码,但缺少的是[savedData synchronize];这似乎是为了在您的应用中更改默认值时更新默认值,而不是相反(在设置中更改,尝试检索它们)

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

当应用程序来自后台时,不会调用

viewWillAppear,尽管事实上该视图会出现......

因此,您必须从应用代理中的applicationWillEnterForeground调用更新方法。

请参阅Why does viewWillAppear not get called when an app comes back from the background?