对于一个简单的笔记应用程序,有一个带有 fetchedResultsController 的表格视图控制器,其中包含核心数据中保存的笔记列表。用户可以单击 + 按钮添加新注释,也可以单击表格视图中的一条记录来编辑现有注释。在任何一种情况下,都会显示带有文本视图的模态视图控制器。
我想在用户键入每个字母时保存,所以在 textViewDidChange 中我正在更新核心数据。如果用户输入速度太快,核心数据会保存挂起。我最近添加了将更新添加到 NSOperationQueue 的代码,这是从这里获取的一个想法:
如何在 iOS 中实现仅处理最新请求的工作队列?这在一定程度上有所帮助。
这是我需要帮助的问题。假设用户在 textView 中键入一个更新,然后按下 Done 以返回到 table view 控制器,然后在原始更新在 table view 中刷新之前再次单击同一注释以再次编辑该注释。用户会看到一个包含旧数据的 textView。更新不存在。如果用户返回表格视图并再次编辑注释,则会显示最新更新。
有哪些方法需要考虑,或者我该如何尝试解决这个问题?我希望 textView 始终显示最新更新,即使用户从 textView 和 tableViewController 来回切换的速度比用户应该的要快;)