Avec cette méthode, vous n'avez pas besoin de faire une application à part, ou avez des connaissances SQL. Vous avez seulement besoin d'être en mesure de faire un fichier JSON pour votre initiale des données.
J'utilise un fichier JSON que je lis dans les objets, puis de les insérer dans la Base de Données. Je le fais quand l'application initialise. J'ai également une autre entité dans ma base de données qui indique si ces données initiales est déjà inséré, après que je l'insérer les données initiales-je définir cette entité de sorte que la prochaine fois que le script s'exécute, il voit que les données initiales a déjà été initialisé.
À lire fichier json à des objets:
NSString *initialDataFile = [[NSBundle mainBundle] pathForResource:@"InitialData" ofType:@"json"];
NSError *readJsonError = nil;
NSArray *initialData = [NSJSONSerialization
JSONObjectWithData:[NSData dataWithContentsOfFile:initialDataFile]
options:kNilOptions
error:&readJsonError];
if(!initialData) {
NSLog(@"Could not read JSON file: %@", readJsonError);
abort();
}
Ensuite, vous pouvez faire des objets de l'entité pour elle comme ceci:
[initialData enumerateObjectsUsingBlock:^(id objData, NSUInteger idx, BOOL *stop) {
MyEntityObject *obj = [NSEntityDescription
insertNewObjectForEntityForName:@"MyEntity"
inManagedObjectContext:dataController.managedObjectContext];
obj.name = [objData objectForKey:@"name"];
obj.description = [objData objectForKey:@"description"];
// then insert 'obj' into Core Data
}];
Si vous voulez une description plus détaillée sur la façon de le faire, consultez ce tutoriel:
http://www.raywenderlich.com/12170/core-data-tutorial-how-to-preloadimport-existing-data-updated