Я пытаюсь разработать тестовое приложение Core Data, чтобы использовать его в своем основном приложении. Но у меня проблемы с извлечением сохраненных данных.
У меня есть 1 объект "Пользователь" с 2 атрибутами: имя (строка) и адрес электронной почты (строка)
Я могу успешно заполнить файл моего магазина данными ...
Вот код, который я использую ниже.
Любая помощь будет принята с благодарностью.
NSManagedObjectContext *managedObjectContext;
NSError *error;
NSString *basePath = @"/Users/Jamie/Desktop";
NSURL *storePath = [NSURL fileURLWithPath: [basePath stringByAppendingPathComponent:@"datastore.xml"]];
NSLog(@"Data Store path: %@", storePath);
NSPersistentStoreCoordinator *persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[NSManagedObjectModel mergedModelFromBundles:nil]];
if(![persistentStoreCoordinator addPersistentStoreWithType:NSXMLStoreType configuration:nil URL:storePath options:nil error:&error]) {
NSLog(@"Unable to load Core Data Store");
NSLog(@"ERROR: %@", error);
return 1;
} else {
NSLog(@"Loaded Core Data Store");
}
managedObjectContext = [[NSManagedObjectContext alloc] init];
[managedObjectContext setPersistentStoreCoordinator:persistentStoreCoordinator];
// Add data to store.
/*
NSManagedObject *mo = [NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:managedObjectContext];
[mo setValue:@"jamie" forKey:@"name"];
[mo setValue:@"jamie@domain.com" forKey:@"email"];
if([managedObjectContext save:&error]) {
NSLog(@"Saved data to store");
} else {
NSLog(@"Unable to save data to store");
NSLog(@"ERROR: %@", error);
}
*/
// Fetch all the data - not worrying about using a predicate.
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"User" inManagedObjectContext:managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];