我已在NSManagedObjectContext
中有3个交易:A
,B
,C
。它们以相同的顺序执行/添加到上下文中。
如何仅保存第一个A
交易,但保留未保存的B
,C
上下文。
insert A
,insert B
,insert C
,commit A
,..
不幸的是NSManagedObjectContext
无法执行commit A
,但保存所有交易。
答案 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)
另一种方法是将保存和提交操作视为唯一事务。
如果有什么不清楚,请告诉我。