Что NSUndoManager делает с моим UITextView?

У меня возникли проблемы с направлением отмен с UITextView на диспетчер отмен UIDocument.

Насколько я понимаю, когда пользователь вводит UITextView, он должен зарегистрировать отмену с ближайшим менеджером отмены в цепочке респондентов, однако я добавил переопределения методов undoManager в самом текстовом представлении, содержащем представлении, контроллере представления и окне, которое регистрирует и вернуть результат суперкласса, и я поместил точки останова в эти переопределения, но они никогда не вызываются и никогда не регистрируются.

Тем не менее, все изменения, сделанные в этом текстовом редакторе, на самом деле необратимы, поэтому они должны быть где-то сохранены в менеджере отмены. Как UITextView находит свой менеджер отмены? и как я могу убедиться, что он указывает на мой документ, чтобы сохраненные изменения работали должным образом?


person user1043479    schedule 26.12.2013    source источник
comment
Взгляните на это: - stackoverflow.com/questions/5079490/   -  person Piyush Dubey    schedule 27.12.2013
comment
@PiyushDubey Спасибо, но, как я описал в вопросе, я уже перегрузил этот метод, чтобы увидеть, вызывается ли он, и нет, поэтому метод, описанный в этом ответе, не работает.   -  person user1043479    schedule 27.12.2013
comment
UITextView имеет специальный подкласс NSUndoManager, UITextUndoManager, который выполняет магию. Вы можете добавить категорию в NSUndoManager как gist.github.com/hoshi-takanori/8193202. для регистрации и т.д.   -  person hoshi    schedule 31.12.2013