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 関連の回答を見るのは本当にうんざりです。それで、ここにいます... :-)
編集:この件に関する非常に役立つ洞察については、受け入れられた回答とその下のコメントをご覧ください。