Ho un'app in cui utilizzo già i dati principali per archiviare una grande quantità di negozi, che un utente può visualizzare una volta effettuato l'accesso. Attualmente sto implementando la parte di accesso dell'app e Ho esaminato molte domande correlate. Molti di essi suggeriscono di utilizzare NSUserDefaults
per archiviare dati utente non sensibili. Sto pensando di memorizzare cose come nome, cognome, email, foto del profilo e forse indirizzo. L'elenco potrebbe crescere in futuro. La mia domanda è un'opzione valida per creare un utente entity
nel mio modello di dati di base al fine di memorizzare un singolo oggetto utente o sarà una cattiva pratica e dovrei semplicemente farlo con NSUserDefaults
? Sono tentato di utilizzare Core Data poiché ho già impostato tutto e non aggiungerebbe ulteriore complessità all'implementazione.Dati principali vs NSUserDefaults per dati utente registrati
risposta
Mi trovavo in una situazione molto simile in cui ti trovavi mentre stavi sviluppando un'applicazione recente. Ho trovato che NSUserDefaults
era una soluzione più appropriata per la memorizzazione delle informazioni degli utenti, dal momento che questo è ciò per cui è esplicitamente destinato. Come dice Apple documentation, la classe NSUserDefaults fornisce un'interfaccia programmatica per l'interazione con il sistema di default. Il sistema di default consente a un'applicazione di personalizzare il suo comportamento in modo che corrisponda alle preferenze dell'utente. '
Dalla mia esperienza, l'utilizzo di NSUserDefaults per archiviare informazioni utente invece di Core Data significava avere molto meno codice. Inoltre, non hai il sovraccarico di dover accedere all'archivio dei dati di base ogni volta che l'utente accede alla tua app).
Per riferimento, ho utilizzato this e this mentre stavo imparando dove usare NSUserDefaults.
Ho fatto entrambe le cose, ma per me l'archiviazione del mio utente in CoreData e il salvataggio del mio ID utente negli NSUserDefault
s era la soluzione migliore. L'ho fatto perché stavo usando sia Mantle e Overcoat per analizzare la risposta del server e il mio utente aveva esattamente la stessa struttura di qualsiasi altro utente nell'app.
Buona risposta qui. Dichiara tutte le giuste informazioni - Accesso lato server e accesso locale –
Vado con NSUserDefault se si prevede di avere un solo utente alla volta. In una delle nostre app è necessario avere la possibilità di gestire più account utente contemporaneamente. Abbiamo creato un db diverso per ogni utente che utilizza UserId come identificatore di nome. Per farci ricordare lo stato dell'app per ogni utente Quindi penso che la risposta dipenderà dallo scenario. Ricorda solo di non salvare informazioni preziose su userDefault. Forse cose come email, username, ecc sarebbero migliori se vengono salvate sul key ring dell'app. Ci sono alcuni pod che rendono il salvataggio e il recupero dal portachiavi facile come l'accesso a un dizionario.
Buona fortuna.
- 1. Aggiornamento dei dati utente registrati nella sessione
- 2. Dati principali VS Sqlite o FMDB ....?
- 3. Dati principali iOS - Relazioni
- 4. Backup .sqlite (dati principali)
- 5. UIManagedDocument e dati principali
- 6. Dati principali personalizzati SectionNameKeyPath
- 7. Carica dati nello schema dei dati principali
- 8. NSUserDefaults vs NSCoding
- 9. Registrati/Registrati utente usando quickblox?
- 10. Dati principali NSPredicate per le relazioni
- 11. Dati principali - Tipo decimale per valuta
- 12. App per Mac/iPhone - sincronizzazione dei dati principali su iCloud e dispositivi (utilizzando i dati principali)
- 13. iPhone - dati principali Relazione NSSet
- 14. Dati principali - Archiviazione immagini (iPhone)
- 15. Dati principali: come generare CoreDataGeneratedAccessors?
- 16. Dati principali deleteObject: non funziona?
- 17. Dati principali e proprietà transitorie
- 18. Relazioni indicizzate nei dati principali
- 19. Migrazione personalizzata dei dati principali
- 20. Dati principali NSFetchRequest con raggruppamento
- 21. NSCoding VS Core dati
- 22. Dati persi dopo l'uccisione dell'app utilizzando NSUserDefaults
- 23. Devo usare NSUserDefaults o un plist per memorizzare i dati?
- 24. NSUndoManager, Dati principali e annulla/ripristina selettiva
- 25. RestKit elimina vecchi dati dai dati principali utilizzando setObjectMapping
- 26. NSUserDefaults vs CFPreferenze, cosa considerare
- 27. Esiste un modo per migrare i dati dai dati principali al database online?
- 28. Elenco dei tipi di attributo Dati principali?
- 29. Memorizzazione di NSNumber opzionale nei dati principali
- 30. ID oggetto autoincrementato nei dati principali?
Ho usato NSUserDefaults alla fine, i collegamenti che hai fornito erano abbastanza utili. Grazie! – Georgi