2011-12-18 3 views
0

내 문서 기반 앱에서 [self undoManager]에 대한 prepareWithInvocationTarget 및 registerUndoWithTarget을 호출합니다. 그러나 편집 메뉴에서 실행 취소 & 실행은 여전히 ​​비어 있습니다. [[self undoManager] undo]를 호출하여 수동으로 실행 취소를 실행할 수 있으며 작동합니다.문서 기반 응용 프로그램의 NSUndoManager 잘못된 동작

그냥 새 프로젝트를 만들었고 prepareWithInvocationTarget 및 registerUndoWithTarget이라는 새 프로젝트를 만들었습니다. 마법! 편집 메뉴의 실행 취소/다시 실행 요소를 지금 클릭 할 수 있습니다.

왜 이런 이유가있을 수 있습니까? 인터페이스 빌더에서 연결을 확인하려고 시도했지만 내가 만든 새 프로젝트에서와 동일합니다. 어떤 생각을 고칠 수 있을까요?

+1

실제 코드를 볼 수 없기 때문에 좋은 질문을 던지기 어렵습니다. 생각했던 것의 설명 만 표시합니다. –

답변

0

좋아, 나는 그것을 해결했습니다.

문제는 내가 문서 기반 프로젝트를 가지고 있으며 내 문서 대리인에서 [self undoManager]를 호출했습니다. 대신 메인 윈도우에서 불러야했습니다. 나는 mProjectWindow undoManager에 chcanged했다. (mProjectWindow가 문서의 주 윈도우를 가리키기 때문에) 이제는 eveyrthing이 잘 동작한다.