1

を使用していくつかの設定を保存する iPhone アプリがありますNSUserDefault standardUserDefaults

アプリに新しい機能を追加するときは、新しいデフォルト設定を追加する必要があるため、NSUserDefaults. 今のところ、バージョン番号を保存して、アプリの起動時にこれを確認するだけです。多くのifステートメントを追加する必要があるため、すぐに非常に面倒になりました。ユーザーが以前のバージョンからアップグレードしているだけだとは思いませんが、おそらく数バージョン前のバージョンでさえあります。

CoreData がテーブルの変更の移行を処理するように見える方法が気に入っていますが、2.2.1 SDK との互換性を提供したいと考えています。もちろん、CoreData は と同じではありませんNSUserDefaults

提案やベストプラクティスはありますか?

4

1 に答える 1

3

うーん…この方法でユーザーのデフォルトを「アップグレード」するのではなく、デフォルトが設定されていない場合にのみ、通常どおりNSUserDefaultsにクエリを実行します(その場合、objectForKeyはnilを返します)。次回の時間を節約するために、ユーザーのデフォルトに書き戻されます)。「新しい」デフォルト(つまり、1.0には存在しなかったもの)を読み取るたびにこれを行う必要があるため、これを行うラッパークラス/ファイルを実行することをお勧めします。このようにして、コードは1回だけ記述されます。それぞれの「新しい」デフォルト。

また、質問/問題は異なりますが、この回答はあなたの場合にも同様に機能します。

于 2010-02-22T13:35:51.390 に答える