Domanda

Un altro newbie domanda:Qual è il modo migliore per memorizzare i dati in una applicazione Cocoa scritto in Obj-C?Per esempio se voglio creare una sorta di "quizzer" che i quiz l'utente con pre-scritto e scritto dall'utente) domande?Come faccio a memorizzare queste domande e le risposte?Dati Di Base?

Grazie!

È stato utile?

Soluzione

Naturalmente è Dati Di Base!

In grado di gestire tutto..date un'occhiata qui: http://developer.apple.com/macosx/coredata.html

E ' una API in grado di gestire:

  • ORM tra database e di run-time di oggetti
  • persistenza
  • strumenti automatici di costruzione (come un ER-editor)
  • è pronto, fuori dalla scatola, non è necessario implementare quasi nulla..si sarà già avere accesso ai vostri dati dal proprio interrogazione all'oggetto controller

Probabilmente questa soluzione è over-size per il vostro problema, ma imparerete come usare un semplice caso, e mi sarà utile in futuro..

Altri suggerimenti

Core Data è sicuramente una scelta eccellente, come ha mostrato @Jack. Ci sono alcune altre opzioni come bene.

  1. NSCoding - Potete fare i vostri oggetti del modello sono conformi al protocollo NSCoding (simile a java.io.Serializable), il che significa che sarebbe in grado di scriverli direttamente in file. Ho scoperto che questa è una grande opzione quando non ho enormi quantità di dati a persistere, ed i dati che sto persistente ha una struttura relativamente semplice.

  2. SQLite - Se i dati sono molto relazionale, si può prendere in considerazione l'utilizzo di un database (probabilmente SQLite) direttamente. Core Data è un negozio oggetto, e mentre gestisce le cose come le relazioni tra gli oggetti, non permette di fare cose veramente utili come INNER/LEFT/OUTER/CROSS/NATURAL JOIN o da altri operatori multi-tavolo.

  3. NSUserDefaults - se i dati è molto piccola e si trova essenzialmente coppie chiave-valore, allora probabilmente si può buttare tutto in un oggetto NSUserDefaults, che persisterà per voi nel file delle preferenze. Tuttavia, anche se i dati è semplice, NSUserDefaults potrebbe non essere la migliore opzione se si dispone di un sacco di esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top