2011-08-04 23 views
2

我已经使用NSUserDefaults来更改settings.bundle中的设置。我也有使用观察者更新的应用程序设置。这工作正常。当我更改应用程序中的设置时,我更新NSUserDefaults值以将其反映在设置包中。但是一些奇怪的行为发生了。我可以改变它一次,但第二次当我将它切换到ON时,它会直接返回到OFF。我猜测观察者正在被调用,并且出现了问题。有没有人看过这种行为?我甚至不明白到底发生了什么。如何让NSUserDefault设置与应用程序设置保持同步?

+0

观察者/动作是否被调用两次来更新默认文件? – Luke

+0

是的。问题是为什么。我正在更新NSUserDefault设置一次。它被一次呼叫,而没有第二次呼叫。 – Suchi

+1

我不能告诉你为什么它会这样做两次,但我注意到类似这样的行为(其中某些事情被调用两次)的类似行为,并且只是绕过它,所以我可以继续工作。对不起,我不能有进一步的帮助! – Luke

回答

3

确保每次编辑NSUserDefaults时都要同步它们。

[[NSUserDefaults standardUserDefaults] synchronize];

+0

是的,这样做已经不能解决问题了 – Suchi

相关问题