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
>>関連リンク

閲覧数: 4457 / はてなブックマークusers

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト