在库存主/细节应用程序中添加“保存上下文”的好位置

时间:2013-07-18 22:14:28

标签: ios core-data nsmanagedobjectcontext persistent-storage

来自Master-Detail w /核心数据的测试应用程序未在应用程序关闭时保存数据。

在MasterViewController.m中,我在模板方法中添加了两行:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
    [self.tableView beginUpdates];

    NSError *error = nil;
    [self.managedObjectContext save:&error];
}

现在,数据似乎正在从详细信息正确保存到主视图以及跨应用程序使用的磁盘存储。但是,我想知道使用这种方法的后果。

在详细信息视图中有多个文本字段,并希望快速(好的时间)将数据保存回文档目录,这是执行保存的最佳方法吗?

我注意到焦点离开文本字段后正在调用其他候选方法。

  • controller:didChangeObject:
  • controllerDidChangeContent:

出于什么原因,什么是好位置?

1 个答案:

答案 0 :(得分:0)

没有一个正确的答案。这取决于你的应用程序的工作方式以及何时,在你的应用程序中,说“好吧,让我们确保我们不会失去这种状态”是有道理的。这取决于应用程序 - 这并不是说有一种特定方法始终是保存状态的正确位置。通常,只要用户完成了您想要保留的特定操作或任务。如果您当前的方法在您的应用中有意义,那么这是正确的解决方案。如果没有,找出它有意义的地方并保存更改。