По моему мнению, WebView должен взять на себя ответственность за удаление себя или любых подчиненных объектов из undoManager WebView: в данном случае, ваш.
Судя по вашему описанию, он этого не делает.Я подозреваю, что ваша цель найти цель, чтобы вы могли удалить ее явным образом, будет бесплодной, поэтому я хотел бы предложить другое решение, которое я либо использовал ранее, или я продвинулся достаточно далеко, чтобы подумать об использовании;)
Идея, которая у меня возникла для такой ситуации, состоит в том, чтобы использовать пользовательский подкласс NSUndoManager, который способен хранить собственную избыточную память всех регистраций на нем (переопределяя registerUndoWithTarget:… и prepareWithInvocationTarget).Имея надежный массив всех регистраций, вы можете в любое время навязать собственную политику уборки дома.Т.е. вы можете сказать «если класс цели взят из среды, которой я не владею, просто удалите ее»… или, если быть более точным, сказать, что вы хотите удалить что-нибудь, например, класс WebEditorUndoTarget.