2015-01-01 2 views
1

NSUndoManager группирует вызовы вместе, которые происходят в той же runloop.Отключить вызовы группировки NSUndoManager при загрузке документа

Я хочу загрузить документ, содержащий историю отмены в нем.

Как таковой, я создаю документ и применяю вызовы один за другим, однако все они добавляются очень быстро, что приводит к одному отмене.

Есть ли способ изменить рабочую среду NSUndoManagers или что-то еще, чтобы получить отдельные отменить invocations?

Я попытался отключить groupsByEvent и создать свой собственный beginUndoGrouping, но это не похоже на работу

+0

Кажется, что мне нужно обернуть beginUndoGrouping() и endUndoGrouping() вокруг всех моих «добавить» операции, я не уверен, если я считаю, что это правильное поведение, хотя. Мое мышление заключается в том, что начальный уровень beginUndoGrouping должен влиять на все последующие «добавления» к менеджеру отмены ... – Chris

ответ

0

Вы пробовали закрытия верхнего уровня группы и открыв его снова после того, как вы добавили свои заклинания? Например .:

undoManager.endUndoGrouping() 

// add your undo invocations 

undoManager.beginUndoGrouping() 
+0

Не существует группировки верхнего уровня для закрытия, поэтому я просто получаю сбой с этим методом – Chris

Смежные вопросы