OK, ammetto che lo NSUserDefaults
, essendo una cosa specifica per Mac (e io che sono un programmatore Mac negli ultimi due anni), è una delle cose che non ho approfondito così tanto .. . Ecco alcuni problemi/domande che ho trovato:Problemi/Domande riguardanti NSUserDefaults
Capisco che NSUserDefaults
è fondamentalmente uno NSMutableDictionary
scritto come .plist
.
Le mie domande:
Dato che sto correndo OS X 10.7 (Lion) e dopo aver attivato Sandbox, dove è il file .plist di mia app? (Ho la ricerca sia in
~/Library/Preferences/com.example.myapp.plist
e~/Library/Containers/com.example.myapp/Data/Library/Preferences/com.example.myapp.plist
ma nessuno di questi sembra validoCapisco che questo file
.plist
viene creata la prima volta che i lanci di app, giusto?registerDefaults:
deve essere utilizzato in applicazioni lancio (ad esempio inawakeFromNib
) e fornire un Dizionario di valori predefiniti che vengono immediatamente memorizzati nel file.plist
, e cambiato solo se un valore diverso è impostato ad un certo punto, giusto?Quando stiamo impostando una chiave specifica -Value coppia, è quella coppia automaticamente e io salvato immediatamente nel file
.plist
? E se sì, perché/quando dovremmo usaresynchronize
? (Lo sta utilizzando ogni volta un po 'di valore è impostato su un peso inutile, o dovrebbe essere riservato a casi particolari?)
Sidenote: Spero che nessuno si lamenta il mio uso del tag osx
. Tuttavia, sono davvero stanco di vedere le risposte relative a Cocoa Touch/iOS alle mie domande (principalmente) relative a OSX. Così, qui siete ... :-)
EDIT: Per qualche informazione veramente utile in materia, si prega di dare un'occhiata alla risposta accettata, così come i commenti di sotto di essa.
+1 per una bella domanda. –
Perché qualcuno dovrebbe lamentarsi del tag [tag: osx]? È lì per essere usato. – Caleb
@Caleb Sono abbastanza familiare con SO e sto cercando di evitare infinite modifiche. Bare con me! lol :-) –