Я не вижу, где ваш ManagedObjectContext объявлен и подключен к вашей существующей модели данных. Например, где вы объявляете свой «получатель» для доступа к нему из persistentStoreCoordinator . Попробуйте проверить ваше соединение и вставить на viewDidLoad. И проверьте шаги документации здесь:
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdUsingMOM.html#//apple_ref/doc/uid/TP40005190-SW1
Вот пример того, как он подключается к вашему perstistantStoreCoordinator
- (NSManagedObjectContext *) managedObjectContext {
if (managedObjectContext != nil) {
return managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
managedObjectContext = [[NSManagedObjectContext alloc] init];
[managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return managedObjectContext;
}
Или из учебника, который вы используете, вы увидите его в методе didFinishLaunching делегата приложения :
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
// Handle the error.
}
// Pass the managed object context to the view controller.
rootViewController.managedObjectContext = context;
EDIT
После просмотра вашего кода вам нужно сделать две вещи:
1) отредактируйте ваш AppDelegate для загрузки модели "Curl", а не модели "Temp". Это имя вашей xdatamodel.
2) Вам нужно сослаться на контекст вашего делегата приложения, а НЕ создавать его локально. * 1026 Т.е. *
CurlAppDelegate *curlAppDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [curlAppDelegate managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Routine" inManagedObjectContext:context];
[request setEntity:entity];
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[context executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil) {
// Handle the error.
}