MagicalRecord saveWithBlock - как отменить операцию
Я использую MagicalRecord
с этими saveWithBlock:
метод:
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
// some work
// ...
// -> ups! I changed my mind, I don't want to save!
}];
Если я хочу отменить операцию сохранения внутри этого блока, как я могу этого добиться?
Например, у меня есть длительная операция загрузки / синхронизации, когда пользователь входит в систему - если пользователь выходит из системы во время этой операции, я бы хотел отменить сохранение внутри saveWithBlock:
1 ответ
Если вы хотите выполнить отмену, не оборачивайте свои изменения в MagicalRecord saveWithBlock
, Вы можете просто использовать контекст performBlock
API и откажитесь от изменений, если вас это не устраивает.
[context performBlock:^{
// some work
// ...
if(timeToCancel) {
[context reset];
} else {
[context MR_saveToPersistentStoreWithCompletion:nil];
}
}];