2017-02-11 6 views
0

現在のテーマを文字列として保存するアプリで何かをテストしています。 "Light"対 "Dark"です。IOS 10のUserDefaultsに時々古い値が表示される

私はちょうど私が(UserDefaultsに文字列を読み書き)明から暗への切り替え保つときいくつかの点で私は時々古い値に乗ることに気づい:

Light -> Dark -> Light -> Dark -> Light -> Light 

私は私が読んでどこにログを追加しましたそれを正しく書いて、それを書いてください。私はそこIOS 10UserDefaultsに問題があり、その溶液は、デバイスやMacを再起動することであると言ういくつかの他の記事を見た

1. Start app 
2. Change theme (save string to UserDefaults) 
3. Stop app 
4. Start app (read string from UserDefaults) 

:これは私がテストする方法です。

これが表示されますが、これはユーザーデバイスにも問題が表示されることを意味していませんか? 誰もこの種の問題に遭遇しましたか?どんな解決策ですか?

私はIOS 10、Swift 3でXcode 8.2.1を使用しています。そして、シミュレータではなく、実際のデバイスでテストしています。

+0

あなたは本当に値をuserdefaltsに書き込んでいますか?つまり、あなたは同期のことを試すことができます。彼らは私のためにそれがディスクに非常に速く値を書き込まないように思われるが、それをお勧めしません。 –

+0

コードをお知らせください。 –

+0

もう少しテストをしましたが、アイテムが保存された直後にすぐに再起動したときにこの問題が発生することがわかりました。私が2秒間休止すると、問題はないようです。 – Kobe

答えて

2

データを保存した後に[[NSUserDefaults standardUserDefaults] synchronize];に電話してもよろしいですか?

関連する問題