OK、認めNSUserDefaultsますが、Mac 固有のものであること (そして、私は過去 2 年間 Mac プログラマーでした) は、私があまり掘り下げていないことの 1 つです... それで、ここにいくつかの問題/質問があります。に出くわしました:
NSUserDefaults基本的にNSMutableDictionaryとして書かれていることを理解してい.plistます。
私の質問:
OS X 10.7 (Lion) を実行していて、Sandbox を有効にしている場合、アプリの .plist ファイルはどこにありますか? (両方
~/Library/Preferences/com.example.myapp.plistで検索しました~/Library/Containers/com.example.myapp/Data/Library/Preferences/com.example.myapp.plistが、どちらも有効ではないようです.plistこのファイルは、アプリの初回起動時に作成されると理解していますよね?registerDefaults:は、アプリケーションの起動時に (たとえば で) 使用され、すぐにファイルに保存され、ある時点で別の値が設定された場合にのみ変更awakeFromNibされるデフォルト値のディクショナリを提供します。正しいですか?.plist特定の Key-Value ペアを設定する場合、そのペアは自動的にすぐに
.plistファイルに保存されますか? もしそうなら、なぜ/いつ使用する必要がありますsynchronizeか? (何らかの値が設定されるたびにそれを使用するのはやり過ぎですか、それとも特別な場合のために予約する必要がありますか?)
補足 :osxタグの使用について誰も文句を言わないことを願っています。しかし、私の (ほとんどの) OSX 関連の質問に対する Cocoa Touch / iOS 関連の回答を見るのは本当にうんざりです。それで、ここにいます... :-)
編集:この件に関する非常に役立つ洞察については、受け入れられた回答とその下のコメントをご覧ください。