我正在insertMethod(在MasterViewController.m类中)在xcode 4.2中实现核心数据示例我的应用程序崩溃了 NSInternalInconsistencyException和错误消息:Context已经有一个协调器;无法取代。 任何好友都可以告诉我这个异常和错误消息的含义
插入方法如下: -
(void)insertNewObject
{
detailViewControllerObj = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
detailViewControllerObj.delegate = self;
NSManagedObjectContext *addingContext = [[NSManagedObjectContext alloc] init];
self.managedObjectContext = addingContext;
[managedObjectContext setPersistentStoreCoordinator:[[fetchedResultsController managedObjectContext] persistentStoreCoordinator]];
detailViewControllerObj.cust = (Customer *) [NSEntityDescription insertNewObjectForEntityForName:@"Customer" inManagedObjectContext:addingContext];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:detailViewControllerObj];
[self.navigationController presentModalViewController:navController animated:YES];
}
并且应用程序在执行
后崩溃[managedObjectContext setPersistentStoreCoordinator:[[fetchedResultsController managedObjectContext] persistentStoreCoordinator]];
任何帮助都会更加明显......
答案 0 :(得分:0)
这意味着在managedObjectContext初始化时,您已经将其与商店绑定。所以你不需要在这里再次绑定它,所以如果你从你的代码中删除这一行,你的代码将正常工作,因为你试图做的步骤已经在之前的某个阶段完成。