2010-09-18 15 views
5

Tengo una aplicación que utiliza CoreData como mecanismo de almacenamiento de datos y la aplicación necesita algunos datos iniciales para ser configurada. ¿Hay alguna recomendación/qué/cómo estás haciendo para configurar los datos iniciales?¿Cómo configuro la configuración de datos inicial con CoreData?

Actualmente lo estoy haciendo de la siguiente manera (cuando la aplicación se inicia por primera vez):

SomeEntity *newEntity=[NSEntityDescription insertNewObjectForEntityForName:@"SomeEntity" inManagedObjectContext:context]; 
[newEntity setCode:@"a-code"]; 
[newEntity setName:@"a-name"]; 
... 
[context save:nil]; 

No me gusta este enfoque por 2 razones:
1) Es tan aburrido y error -prone si necesita más de 10 instancias de la entidad para el tipo más de una entidad
2) que puede tomar un poco de tiempo para la puesta en marcha inicial

En aplicaciones anteriores usando SQLite Acabo de vincular mi base de datos SQLite inicial en el aplicación y, si es necesario para modificar cualquier dato, movió el databa se al directorio de Documentos. ¿Hay algún enfoque similar para CoreData?

Respuesta

6

Eso es exactamente lo que harías con Core Data, también. Use su aplicación para crear los datos de la manera que desee, y luego descargue los datos del dispositivo. Encontrará un archivo SQLite en el directorio de Documentos (que es la ubicación predeterminada). Agregue el archivo SQLite a su proyecto como un recurso. Se copiará junto con tu aplicación.

Luego, todo lo que necesita hacer es escribir un código para determinar si un archivo ya existe en el directorio de Documentos al inicio. De lo contrario, puede copiar el archivo del paquete de la aplicación al directorio de Documentos y Core Data lo abrirá. Solo debe asegurarse de hacer esto antes de configurar el NSPersistentStoreCoordinator.

+0

¡Muchas gracias, funcionó para mí! – Arts

Cuestiones relacionadas