我似乎遇到了与此相同的问题: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更新问题。
有什么想法吗?
答案 0 :(得分:0)
最后,我使用了第二个托管对象上下文。我通过这个上下文保存到持久存储,并更新主上下文,以便调用NSFetchedResultsControllerDelegate方法。 这正是CoreDataBooks样本的实现。