2012-01-02 10 views
7

Attualmente sto sviluppando un'applicazione in cui la funzionalità dipende in gran parte dai dati JSON recuperati. La maggior parte dei dati che sto pianificando di salvare nei dati principali. Tuttavia, non sono sicuro di dover salvare tutte le informazioni relative all'utente (impostazioni, preferiti, twitter, Facebook e ect.) Anche nei dati di base o dovrei usare NSUserDefaults? Quali sono i pro e i contro?Devo utilizzare i dati di base per memorizzare alcune preferenze dell'utente o salvarlo in NSUserDefaults?

+0

Questa risposta ha un buon confronto: http://stackoverflow.com/questions/6173625/what-are-the-limitations-of-nsuserdefaults – dhirschl

risposta

9

È possibile fare riferimento alla propria guida di Apple: Implementing Application Preferences

è possibile memorizzare l'impostazione utente in alcun modo come si desidera: La scelta tra NSUserDefaults e Core Data è solo tra API, in cui il primo è stato in realtà progettato per gestire preferenze utente.

NSUserDefaults e il "componente delle impostazioni integrato" sono davvero la stessa cosa. Utilizzando l'app delle impostazioni, verranno comunque memorizzate le preferenze in NSUserDefaults che accedi alla tua app con tale API.

Il motivo per cui non si desidera utilizzare l'app delle impostazioni incorporate potrebbe essere: È difficile per gli utenti modificare tali impostazioni. Se disponi di impostazioni che gli utenti potrebbero voler cambiare di frequente, puoi farlo all'interno dell'app (ad esempio, attivare/disattivare la musica, cambiare il nome del giocatore). Inoltre, dal momento che hai il pieno controllo della tua app, puoi disporre di una GUI più flessibile rispetto a quella fornita da Apple in Settings.app

Per quanto riguarda l'utilizzo di dati di base o NSUserDefaults ... direi di andare con NSUserDefaults in quanto è molto più semplice da implementare ed è stato progettato per farlo, dove l'implementazione dei dati fondamentali richiederà un grande sforzo.

+0

Per chiunque trovi questo thread nel 2017+, la pagina collegata sopra non esiste più . Credo che questa guida, ora chiamata [Guida alla programmazione di preferenze e impostazioni] (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/UserDefaults/Introduction/Introduction.html), sia la versione aggiornata. –

Problemi correlati