Отмена изменений при сохранении основных данных

#iphone #objective-c #ios #core-data

#iPhone #objective-c #iOS #core-data

Вопрос:

Я использую CoreData в своем приложении, которое принимает координаты и сохраняет их (вместе с другими данными) в постоянном хранилище.

Работа приложения выглядит следующим образом: пользователь нажимает кнопку, координаты добавляются каждый раз, когда пользователь перемещается, и они помещаются в managedObjectContext . Пользователь нажимает другую кнопку, и приложение перестает вводить координаты в managedObjectContext и спрашивает пользователя, хочет ли он сохранить свои данные. Если пользователь хочет сохранить свои данные, я звоню [managedObjectContext save:amp;error]; и проверяю, нет ли ошибки. Если пользователь не хочет сохранять, координаты просто остаются в managedObjectContext до тех пор, пока приложение не будет полностью закрыто и снова открыто.

Как я могу удалить те точки, которые пользователь не хочет сохранять?

Ответ №1:

[managedObjectContext rollback] будут отменены все изменения, внесенные в контекст с момента последнего сохранения. Если вам нужен более точный контроль зернистости, добавьте NSUndoManager в контекст и извлеките документы! 🙂

Комментарии:

1. Это сделало свое дело. Спасибо! Я не знал, что использовать из документов. 6 минут, пока я не смогу принять…

2. Привет, XJones, небольшой вопрос… есть ли какой-либо способ отменить изменения после сохранения контекста управляемого объекта?

3. Я не знаю, каким образом.