使用Core Data和insertMethod App崩溃并给出带有错误消息的NSInternalInconsistencyException Context已经有一个协调器

时间:2012-02-10 06:30:43

标签: ios4 core-data ios5 xcode4.2

我正在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]];

任何帮助都会更加明显......

1 个答案:

答案 0 :(得分:0)

这意味着在managedObjectContext初始化时,您已经将其与商店绑定。所以你不需要在这里再次绑定它,所以如果你从你的代码中删除这一行,你的代码将正常工作,因为你试图做的步骤已经在之前的某个阶段完成。