2012-06-24 3 views
2

주소록과 유사하게 non-NSDocument 기반 응용 프로그램을 작성하고 있습니다 (예 : AddressBook.app). 그것은 MainMenu.nib에있는 하나의 창을 가지고 있습니다.비 문서 기반 응용 프로그램의 NSUndoManager

현재이 애플리케이션과 NSUndoManager을 통합하는 데 어려움을 겪고 있습니다. NSUndoManager의 인스턴스를 만들고이를 AppController 클래스의 인스턴스 변수에 저장하면 관리자와의 등록 취소시 "실행 취소"메뉴 항목이 활성화되지 않습니다.

NSUndoManager 인스턴스를 메뉴 항목에 연결하고 창에서 더티 상태를 관리하려면 어떻게해야합니까?

답변

4

당신은 AppDelegate에이 방법을 쓰기이 builder.After AppDelegate에이 인터페이스의 윈도우의 대리자로 설정 class.Then의 일원으로서 당신은 AppDelegate에 클래스에서 실행 취소 관리자를 만들 수 있습니다

- (NSUndoManager*) windowWillReturnUndoManager: (NSWindow*) window 
{ 
    < return the undo manager created > 
}