部分保存managedObjectContext



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

如何只保存第一个A事务,而在上下文上保留未保存的B, C

insert A, insert B, insert C, commit A,…

不幸的是NSManagedObjectContext不能做commit A,但保存所有的事务。

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

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

举个例子。

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

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

如果有不清楚的地方请告诉我。

相关内容

  • 没有找到相关文章

最新更新