我有一个通过核心数据支持的NSArrayController填充的NSTableView。用户可以在NSTableView中编辑他们选择的任何字段。当他们选择已修改的行并按下按钮时,数据将被发送到第三方When服务。如果webservice接受更新后的值,我希望将这些值提交到我的持久存储中。但是,如果webservice返回一个错误(或者只是返回失败),我希望编辑后的字段恢复为它们的原始值。
让事情变得更复杂的是,我还有其他一些由CoreData支持的可编辑控件,它们不需要求助于这种行为。
我相信这个问题的解决方案围绕着创建第二个托管对象上下文,我只会将其用于在该特定NSTableView中编辑的值。但我对这两个MOC如何相互作用感到困惑。
这个问题的最佳解决方案是什么?
发布于 2010-06-17 22:08:04
最简单的解决方案是实现Core Data的撤消功能。这样,您可以对核心数据进行更改,但如果服务器返回错误,您只需回滚更改即可。有关详细信息,请参阅核心数据文档。
https://stackoverflow.com/questions/3060226
复制相似问题