2011-08-04 50 views
2

我已經使用NSUserDefaults來更改settings.bundle中的設置。我也有使用觀察者更新的應用程序設置。這工作正常。當我更改應用程序中的設置時,我更新NSUserDefaults值以將其反映在設置包中。但是一些奇怪的行爲發生了。我可以改變它一次,但第二次當我將它切換到ON時,它會直接返回到OFF。我猜測觀察者正在被調用,並且出現了問題。有沒有人看過這種行爲?我甚至不明白到底發生了什麼。如何讓NSUserDefault設置與應用程序設置保持同步?

+0

觀察者/動作是否被調用兩次來更新默認文件? – Luke

+0

是的。問題是爲什麼。我正在更新NSUserDefault設置一次。它被一次呼叫,而沒有第二次呼叫。 – Suchi

+1

我不能告訴你爲什麼它會這樣做兩次,但我注意到類似這樣的行爲(其中某些事情被調用兩次)的類似行爲,並且只是繞過它,所以我可以繼續工作。對不起,我不能有進一步的幫助! – Luke

回答

3

確保每次編輯NSUserDefaults時都要同步它們。

[[NSUserDefaults standardUserDefaults] synchronize];

+0

是的,這樣做已經不能解決問題了 – Suchi

相關問題