部分保存managedObjectContext

时间:2015-05-27 10:27:33

标签: ios core-data nsmanagedobjectcontext nsundomanager

我已在NSManagedObjectContext中有3个交易:ABC。它们以相同的顺序执行/添加到上下文中。

如何仅保存第一个A交易,但保留未保存的BC上下文。

insert Ainsert Binsert Ccommit A,..

不幸的是NSManagedObjectContext无法执行commit A,但保存所有交易。

1 个答案:

答案 0 :(得分:0)

也许我错过了什么。您的目标是仅保存特定对象,例如A,并且仅当A的数据已提交到服务器时。我错了吗?

如果是这种情况,您可以利用NSOperation课程。将您的工作(保存到持久性存储或提交到服务器)包装到NSOperation子类中。在它们之间添加依赖关系。

只是一个例子。

let serverOperation : NSOperation = ...
let localOperation : NSOperation = ...
localOperation.addDependency(serverOperation)

let operationQueue = NSOperationQueue.mainQueue()
operationQueue.addOperations([serverOperation, localOperation], waitUntilFinished: false)

另一种方法是将保存和提交操作视为唯一事务。

如果有什么不清楚,请告诉我。