NSUndoManager изглежда не публикува NSManagedObjectContextDidSaveNotification при отмяна или повторение

Приложението ми извършва определени действия в метод, прикачен към известието NSManagedObjectContextDidSaveNotification (което се изпълнява при запазване). Той също така използва NSUndoManager, който се отменя/възстановява щастливо. Очаквах известието „запази“ да бъде повдигнато, когато възникне отмяна или повторение (в случаите, когато отмяната/повторението засяга хранилището на основните данни), но това не изглежда да се случва.

Разумно ли е да се очаква NSManagedObjectContextDidSaveNotification да бъде публикувано за отмяна/възстановяване? Ако не, има ли начин да определим какво е било отменено/повторено след факта (NSUndoManagerDidUndoChangeNotification изглежда не излага тази информация)?


person Jaysen Marais    schedule 06.03.2013    source източник


Отговори (1)


Изглежда съм грешал в предположението си, че отмяната/възстановяването трябва да има нещо общо със запазването на NSManagedObjectContext.

Тъй като приложението ми се записва автоматично, моят обсаден мозък мислеше, че отмяната/възстановяването също ще се запазва автоматично. Очевидно това не е така.

Сега наблюдавам NSUndoManagerDidUndoChangeNotification и NSUndoManagerDidRedoChangeNotification известията и ръчно записвам там, което (в момента) ми дава поведението, което очаквам.

person Jaysen Marais    schedule 06.03.2013