我使用MagicalRecord
方法使用saveWithBlock:
:
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
// some work
// ...
// -> ups! I changed my mind, I don't want to save!
}];
如果我想取消该区块内的保存操作,我该如何实现?
E.g。当用户登录时,我有一个长时间运行的下载/同步操作 - 如果用户在此操作期间注销,我想取消saveWithBlock:
答案 0 :(得分:0)
如果您要执行取消,请不要将更改包装到MagicalRecord saveWithBlock
中。您可以简单地使用Context performBlock
API,如果您不满意,可以放弃更改。
[context performBlock:^{
// some work
// ...
if(timeToCancel) {
[context reset];
} else {
[context MR_saveToPersistentStoreWithCompletion:nil];
}
}];