2011-02-03 8 views
5

アップルはCore FoundationFoundation Kitの両方でユーザー設定を管理するためのドキュメントを提供しています。また、彼らが実際に異なっていることを除いて、どちらかを選択するのに役立つものはありません("フリーダイヤルではありません")。NSUserDefaultsとCFPreferencesとの対比

興味深いことに、アプリケーションの構成メカニズムを選択することを検討する必要がありますか?それとも、私はただコインを投げるべきですか?

ありがとうございます!

答えて

4

あなたはNSUserDefaultsを使用することになっています。これは絶対にデフォルトの選択です。私はあなたがCFPreferencesを使うことができると思いますが、あなたがその選択をする正当な理由がなければ、私はCF -APIsを明らかにします。

+0

誤って 'CFPreferences 'に遭遇したことはありませんでした。これらの関数は、いくつかのappleチュートリアルで使用されています。 [this one](http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/PreferencePanes/Tasks/Sample.html#//apple_ref/doc/uid/20000710-BABFCABJ)。しかし、入力のおかげで、私は経験を持つ誰かから聞くことを探していた。 –

+4

また、CF-API *をクリアする特別な理由はありますか? –

+4

@Nikita Rybak:通常は使用するのが難しいです(CFオブジェクトを自動解放する簡単な方法はないからです)。 CFPreferencesは、あなたのアプリケーションの好みだけでなく、実際にはより簡単に作業できるように設計されています。あなた自身のprefsで作業するためには、NSUserDefaultsが簡単です。そのため、その理由でそれを使うべきです。 –

0

NSUserDefaultsはユーザースコープを読み書きし、CFPreferencesはユーザースコープとマシンスコープの両方に書き込みをサポートします。 CFPreferencesは、同じマシン上のアプリケーションを使用するすべてのユーザーに適用できるマシン単位の設定に使用できます。

関連する問題