2009-06-20 2 views
5

Sono in grado di creare DataModel, Entità e Proprietà. Come posso creare il DB? Devo crearlo manualmente assicurandoti che tutte le proprietà e le entità siano mappate?Come collegare o creare DB Sqlite con il modello dati Core in iPhone

Seguo l'esempio Ricette Core Data e hanno notato un metodo in RecipesAppDelegate.m:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator { 
} 

posso vedere un riferimento al file di DB qui.

+0

Se si desidera un modo semplice ed economico per visualizzare o gestire SQLite Db, è possibile utilizzare il plug-in firefox [questo] (https://addons.mozilla.org/en-US/firefox/addon/5817). È pieno di funzionalità e il prezzo è giusto, gratuito. – OhioDude

+0

E riguardo il pre-popolamento del database? Sarebbe meglio collegare l'origine SQL al processo di compilazione? Per un grande archivio di dati questa sembra un'opzione poco attraente (dovendo ricostruire ogni volta). – Dylan

risposta

5

Quando si crea il coordinatore dell'archivio permanente, se si utilizza il tipo di archivio persistente SQLite, il coordinatore creerà automaticamente il database per se non esiste già. Non è necessario creare il file del negozio da soli.

MODIFICA: per chiarire, l'unica cosa che dovresti modificare è il file di modello dell'oggetto Dati Core (.xcdatamodel). Un oggetto NSPersistentStoreCoordinator, quando viene creato con un file di archivio o il metodo addPersistentStore: viene chiamato, eseguirà tutto il la configurazione necessaria del backing store. Ciò include la creazione del file, eventuali tabelle che può contenere, ecc.

La creazione o la modifica di qualsiasi tipo di archivio persistente (in particolare gli archivi SQLite) non è completamente supportata dall'SDK e dal framework Dati principali.

+0

Vuoi dire che dovrei creare il metodo sopra e il codice creerà il file? Che dire delle tabelle e delle colonne nel database? – Picflight

+0

Tutto è curato dal grafico dell'oggetto che hai progettato nel tuo modello dati. Il coordinatore dell'archivio permanente leggerà quello dal modello di oggetto gestito e modificherà direttamente la sua tabella SQLite. Di fatto, la Guida alla programmazione dei dati di base di Apple ti impedisce di interfacciarti direttamente con lo store SQLite. – Tim