、私は次のことをやっている:setValueの代わりにregisterDefaultsを使用する理由:forKey :?私は私のアプリのデフォルトのプリファレンスを設定していた場合
1)辞書にSettings.bundle
内部からRoot.plist
を読みます。
2)優先順位が設定されている場合は、私がテストし、私は[NSUserDefaults standardUserDefaults] registerDefaults:]
問題を経由して、私のデフォルト辞書を登録していない場合で、registerDefaults:
に登録デフォルトは、永続ストアに行っていないユーザーは決してそうであれば彼らの設定を変更私はデフォルトの設定を読んでいるとアプリを起動するたびにNSUserDefaults
とそれらを登録しています。
registerDefaults:
を使用する代わりに、setValue:forKey:
を使用して、デフォルト設定を永続ストアに移して、それぞれの起動時に辞書を登録する&を構築する必要はありません。しかし、Appleのdocumentationとsample codeはともにregisterDefaults:
を指しています。
registerDefaults:
をいつ、なぜ使うべきか、なぜ/なぜ私がsetValue:forKey:
を使うべきかを考えようとしていますか?
この関連する質問が見つかりました:[[NSUserDefaults registerDefaults:]の使用は何ですか?](http://stackoverflow.com/questions/4931167/what-is-the-use-of-nsuserdefaults-registerdefaults)答えは違いを説明していますが、なぜあなたは他のものを使用するべきなのかについてはまだ言いません。 (回答は持続性に関する私の質問を無視しているようです) – gabrielk