Domanda

C'è un approccio "best practice" per la memorizzazione di dati permanenti statici per applicazioni iPhone?

Ho un app che legge un dizionario di circa 1000 articoli, molti dei quali sono array. Ho iniziato con un unico plist per questo ed è diventato un po 'ingombrante soprattutto perché gran parte dei valori sono stringhe HTML.

C'è un modo migliore per me di avvicinarsi a questo? Ho intenzione di scalare in modo significativo questa applicazione e io, ovviamente, non voglio cambiare il mio approccio midstream.

Googled per iphone data storage e varianti, ma sono venuto a breve per qualsiasi cosa, anche toccando una best practice.

È stato utile?

Soluzione

Sembra che si intende distribuire alcuni dati con l'applicazione. Un elenco di proprietà è probabilmente il più facile da mantenere, ma sarà caricato in memoria tutto in una volta. Questo potrebbe mangiare un sacco di memoria del dispositivo.

un database SQLite, d'altra parte, caricherà solo i dati da lei richiesto. Non sono sicuro di come i dati è strutturato, ma si potrebbe facilmente creare coppie chiave-valore con una singola tabella di database. (Una sola tabella con una colonna key e una colonna value) Poi, se si trattasse di me, mi piacerebbe scrivere una classe Objective-C per avvolgere le query di database in modo da poter scrivere istruzioni semplici come:

NSString *welcomeText = [[MyData sharedData] dataWithKey:@"WelcomeText"];

Ottenere i dati nel database, in primo luogo non deve essere difficile. È possibile utilizzare l'utilità sqlite3 riga di comando per caricare i dati di massa. C'è un comando chiamato .import che consente di importare i dati da un file di testo.

Spero che questo si ottiene muovendo nella direzione giusta!

Altri suggerimenti

mi piacerebbe andare con una soluzione SQLite. Le applicazioni sto lavorando ora, che sono applicazioni solo per aiutarmi a imparare lo sviluppo iPhone, per lo più tutto l'uso SQLite. Io uso il plugin per Firefox SQLite per aiutare con il mantenimento del database, che funziona sorprendentemente bene. https://addons.mozilla.org/en-US/firefox/addon/ 5817

Per quanto Alex ha suggerito di utilizzare una classe wrapper sarebbe anche il modo migliore per andare.

Non dimenticare con 3.0 è possibile utilizzare un livello di Core Data attorno SQLite che può rendere più attraente per voi.

Se non è necessario memorizzare tutte le informazioni sui vostri dati relazionale, perché non basta usare i file? Ci sarà un po 'di spazio del file system sprecato, ma i file semplici potrebbe essere la più memoria e soluzione efficiente della CPU, a seconda delle dimensioni e del numero dei tuoi articoli.

Non ho mai sviluppato un'applicazione per iPhone, ma ho giocato un po 'nel filesystem. Ho visto database SQLite che galleggiano intorno vari luoghi del telefono cellulare. Sono abbastanza sicuro che utilizza un database SQLite per memorizzare le voci del calendario.

Vorrei usare SQLite. Si è già lì, facile da usare, e fornirà il percorso più flessibile per l'espansione in futuro.

Io uso SQLite per i dati statici nel mio iPhone apps per tutto il tempo.

Tutto quello che ho fatto è stato salvare stato quando l'applicazione è chiusa. Ho usato un file per questo.

SQLite suona perfetto per la vostra applicazione. SQLite è abbastanza facile. L'ho usato in applicazioni Adobe AIR.

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