【发布时间】:2012-12-02 05:10:42
【问题描述】:
对于一个简单的笔记应用程序,有一个带有 fetchedResultsController 的表格视图控制器,其中包含核心数据中保存的笔记列表。用户可以单击 + 按钮添加新注释,也可以单击表格视图中的一条记录来编辑现有注释。在任何一种情况下,都会显示带有文本视图的模态视图控制器。
我想在用户键入每个字母时保存,所以在 textViewDidChange 中我正在更新核心数据。如果用户输入速度太快,核心数据会保存挂起。我最近添加了将更新添加到 NSOperationQueue 的代码,这是从这里获取的一个想法:
How to implement work queue in iOS where only newest request is handled?,这在一定程度上有所帮助。
这是我需要帮助的问题。假设用户在 textView 中键入了一个更新,然后按下 Done 以返回到 table view 控制器,然后在 table view 中刷新原始更新之前再次单击同一注释以再次编辑该注释。用户会看到一个包含旧数据的 textView。更新不存在。如果用户返回表格视图并再次编辑注释,则会显示最新更新。
有哪些方法可以考虑,或者我该如何尝试解决这个问题?我希望 textView 始终显示最新更新,即使用户从 textView 和 tableViewController 来回切换的速度比用户应该的要快;)
【问题讨论】:
标签: objective-c ios core-data nsfetchedresultscontroller nsoperationqueue