2010-07-27 18 views
7

He visto tutoriales en libros y sitios web que ofrecen archivos .sqlite para descargar. Los archivos sqlite se usan para Core Data.¿Creando un archivo .sqlite desde el almacén de datos centrales?

¿Cómo obtengo un archivo .sqlite DE un almacén de datos de la aplicación o núcleo en A mi escritorio?

+1

Si está solicitando un método para crear tiendas CoreData SQLite, tenga cuidado con las respuestas que sugieren herramientas SQLite. Tendrá que escribir o adaptar una aplicación CoreData para importar datos de otro formato (por ejemplo, archivo plano, CSV, etc.), probablemente usando 'NSScanner'. – Justin

Respuesta

14

Si va a crear un archivo sqlite rellenado previamente para ser utilizado con los datos centrales, entonces debe crearlo con Core Data. Es trivial crear una aplicación de escritorio básica para la entrada de datos y usarla para crear el archivo y luego incrustarlo en su dispositivo iOS.

No intente duplicar manualmente la estructura de datos o el enlace dentro del archivo. Puede hacer que funcione pero pasará mucho más tiempo tratando de que funcione y eventualmente fallará. La estructura interna de un archivo sqlite de Core Data debe considerarse como una API privada. La estructura no es pública y puede cambiar sin previo aviso.

+0

Por favor, explique. – Moshe

+6

Quiere decir que los archivos sqlite que está descargando fueron creados por Core Data. Para crear uno propio, configura tu pila de Datos centrales y luego importa datos a ella. Si bien en teoría, podría crear un archivo sqlite que Core Data podría usar desde cero utilizando solo comandos SQL, en realidad es una forma difícil y frágil de obtener el archivo de datos. La API SQL de Core Data es privada y modificable. Es virtualmente imposible de duplicar. Siempre es más fácil y más limpio generar el archivo con los datos centrales que usaría para leer el archivo. – TechZen

+0

¿De modo que genero clases y modelos de datos básicos en XCode y de alguna manera exporto un archivo sqlite a partir de eso? ¿Cómo es eso? – Moshe

0

Hay un programa de línea de comandos descargable de sqlite.org (en la descarga estándar) que se puede usar para crear una base de datos en blanco con un esquema. Por lo general, el archivo de la base de datos es compatible en todos los sistemas operativos y dispositivos.

4

Si está tratando específicamente para crear un almacén de datos básicos, se utiliza este método:

NSPersistentStoreCoordinator 
    addPersistentStoreWithType:(NSString*)storeType 
    configuration:(NSString*)configuration 
    URL:(NSString*)storeURL 
    options:(NSDictionary*)options 
    error:(NSError**)error 

Ya debe haber asociado un NSManagedObjectModel con su objeto coordinador de almacén persistente. Si la tienda en storeURL no existe, se creará; de lo contrario, se abrirá.

Cuestiones relacionadas