NSUndoManager в приложении на основе документов неправильное поведение - PullRequest
0 голосов
/ 18 декабря 2011

В моем приложении на основе документов я вызываю prepareWithInvocationTarget и registerUndoWithTarget для [self undoManager]. Однако в меню «Правка» кнопки «Отменить» и «Повторить» остаются пустыми. Я могу выполнить отмену вручную, вызвав [[self undoManager] undo], и это работает.

Просто чтобы убедиться, я создал новый проект, назвал его prepareWithInvocationTarget и registerUndoWithTarget. Магия! Элементы отмены / возврата в меню «Правка» теперь можно щелкнуть.

Что может быть причиной этого? Я попытался проверить соединения в конструкторе интерфейсов, но они такие же, как в новом проекте, который я создал. Есть идеи как это исправить?

1 Ответ

0 голосов
/ 18 февраля 2012

Хорошо, у меня все получилось.

Проблема заключалась в том, что у меня был проект на основе документа, и в моем делегате по документу я позвонил [self undoManager].Я должен был вызвать его в главном окне вместо этого.Я изменил его на [mProjectWindow undoManager] (потому что mProjectWindow указывает на главное окно документа), и теперь все работает нормально.

...