Настройки не обновляются на iOS 4 - PullRequest
3 голосов
/ 28 марта 2011

У меня есть набор настроек с некоторыми настройками пользовательского интерфейса,

Дело в том, что если приложение закрывается и я изменяю настройку, то при открытии оно обновляется.Но в iOS 4, если приложение работает в фоновом режиме и я изменяю настройку, оно не обновляется вообще, пока я не закрою приложение и не открою его снова.

Мой код чтения NSUSerDefaults выглядит примерно так:

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

находится на viewWillAppear, так как этот метод должен вызываться при каждой загрузке представления, поскольку он запускается или идет из фона.

Существует много кода NSUserDefaults, но всеотсутствует [saveData синхронизировать];и это, кажется, предназначено для обновления значений по умолчанию, как только вы измените их в своем приложении, а не наоборот (изменение настроек, попытка их получить)

Что мне здесь не хватает?

1 Ответ

2 голосов
/ 28 марта 2011

viewWillAppear не вызывается, когда приложение выходит из фона, несмотря на то, что, ну, вид появится ...

Таким образом, вы должны вызывать методы обновления из applicationWillEnterForeground в вашем делегате приложения.

См. Почему viewWillAppear не вызывается, когда приложение возвращается из фона?

...