2010年10月03日
Settings.bundleのデフォルト値 @ 携帯電話
変だな変だなと思っていたんですよね。Settings.bundleにDefaultValueを入れているのに全然初期値が入力されない。以前は初期化されたはずなのに。
仕方が無いので、設定値が入ってない場合は、エラーを返すような処理を入れたりしていたのですが、どうやらiOS 4以降から、DefaultValueが効かなくなり。registerDefaultsを使って、自分で初期値を入れなければならない事が判明。
NSDictionary *appDefaults;
[[NSUserDefaults standardUserDefaults] registerDefaults: appDefaults];
registerDefaultsは、何か値が入っていると、上書きするような事はないようなので、まさその名の通り、デフォルト値を登録するメソッドのようです。
と言うわけで、値が入ってない場合のエラー処理は不要になりました。
ただ、腑に落ちないのは、DefaultValueに入れたデータが、初期状態として表示されてしまう事。可成り気持ち悪いです。
で、良さそうなモノを発見。Settings.bundleを読み込んで、registerDefaultsすれば良いと思ったら、その物ずばりのモノを発見。
Can you make the settings in Settings.bundle default even if you don't open the Settings App - Stack Overflow
>>関連リンク
関連日記
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。