表视图中的双重输入

时间:2010-01-21 08:21:03

标签: iphone

我似乎遇到了与此相同的问题:How to avoid data lose when UIImagePickerController unloads my controller?

我有同样的问题,但它是一个UITableViewController。 我使用Core Data和NSFetchedResultsController,使用-controllerWillChangeContent-controller:didChangeSection:atIndex:forChangeType:-controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:-controllerDidChangeContent(如iPhoneCoreDataRecipes示例代码中所示)。

我的问题是,在-viewDidLoad,我做了-performFetch,正确地重新加载了tableView(如果我添加了一个带有图像选择器的元素作为模态视图,它被考虑在内等等)。但是,调用上述方法,并进行第二次操作(插入)!所以我最终得到的表视图包含Core Data base中一个对象的双重条目。如果我重新启动应用程序,我只有一个条目,所以它肯定是一个UI更新问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最后,我使用了第二个托管对象上下文。我通过这个上下文保存到持久存储,并更新主上下文,以便调用NSFetchedResultsControllerDelegate方法。 这正是CoreDataBooks样本的实现。