2012-03-06 8 views
3

iOSの壊れたNSUserDefaultsから内部的に回復する方法はありますか?たとえば、このケースで特定の例外が発生していますが、私は正常に応答できますか?私はいくつかの私のユーザーが起動時に起動時にクラッシュを経験していると思います。設定が破損しているため(私にはメールを送信しないので、詳細は分かりません)、アプリが自動的にNSUserDefaultsをリセットすることができればいいです。壊れたNSUserDefaultsを自動的にリセットする

関連する質問:この状況をテストするためにNSUserDefaultsを意図的に破損させるにはどうすればよいですか?

+2

最初のところでデフォルトが壊れているのはなぜですか?これを行うNSUserDefaultsはありそうもありません。デフォルトが書かれている場所を慎重に見て、あなたが書いていることを見てください。 – trudyscousin

+1

あなたは破損していると言うとき、それはごみの値を持っていることを意味するのですか?そして、はいの場合は、コードが予期しない値を処理してデフォルトにリセットできるかどうかを確認します。 – vipinagg

+0

どちらも優れた点です。私は(非常に残念なことに)クラッシュの特定の状況を確認していないし、テストでそれらを経験していないが、それでも、私はデフォルト値を読み込む際により多くの保護手段を使うことができると確信している。たぶん、これはもっと詳細な説明がなくても不明確な質問です。 – shawkinaw

答えて

0

私はラッキー推測しようとするでしょう:起動時にNSUserDefaultsにオブジェクトのクラスのチェックを追加すること

てみてください。したがって、それらのいずれかがコードで使用される前に。何があるべきかに応じて、他のものをチェックしてください。

また、「破損」すると、たとえばNSNumberの代わりにNSArrayを保存しようとします。その後、アプリを再実行します。

希望します。

+1

上記のコメントで示唆したように、私はすべてのNSUserDefaultsの読み込みにいくつかのコードを追加して、値が意味をなさないことを確認しました。かなりのテストをした後、私は決してNSUserDefaultsをクラッシュさせることができないので、問題の原因となっていた値で行う必要があります。 – shawkinaw

関連する問題