У меня есть несколько WebView, которые я переключаю между своей иерархией представлений. Некоторые из этих веб-представлений содержат поля формы, поэтому я реализую editDelegate, чтобы предоставить NSUndoManager для моего документа.
Проблема в том, что любой ввод текста в WebView генерирует действия, которые помещаются в стек отмены. После удаления представления из иерархии действия остаются в стеке отмены. В этот момент, если пользователь использует Cmd-Z для «Отменить ввод», возникает исключение, потому что -undoEditing: отправляется освобожденному экземпляру WebEditorUndoTarget. (Частный класс, используемый в реализации WebKit.)
Я не могу использовать -removeAllActionsWithTarget: потому что не могу сослаться на цель. Похоже, единственное решение — отключить отмену регистрации для WebView.
Я что-то упустил или это ограничение WebView?