2011-02-03 4 views
13

나는 이미이 항목에 대해 몇 가지 질문을했으며 실제 수행 방법에 대한 답변을 실제로받지 못했습니다. 실제로 "Tumbleweed 배지"를 받았습니다.문서 기반 응용 프로그램의 메뉴 항목 연결

문서 기반 응용 프로그램이 있습니다. 즉, Menu.Xib는 MyDocument.Xib와 별개입니다.

'굵게'단추 나 맞춤법 검사 단추 (형식> 글꼴 등) 아래에있는 Menu.xib에 나열된 항목을 MyDocument (기본 인터페이스)에 추가하고 싶습니다. 어떻게해야하는지 알 수 없습니다. . 이렇게

어떤 도움을 크게 감상 할 수

(이것은이 지금 몇 주 동안 나를 난처한 상황에 빠진 작동하는지 나는 즉시 대답을 보상합니다).

을 나는 MyDocument.Xib과에 글꼴 관리자를 추가하는 시도 그런 식으로 연결하지만 굵게 버튼 만 사용 설정하면 사용할 수 없으며 글꼴 관리자를 통해 맞춤법 검사 등을 활성화 할 수 없습니다.

이 작업을 수행하는 더 좋은 방법이 있어야합니다.

Apple 문서는 매우 모호합니다.

답변

17

이것은 정확히 IB의 첫 번째 응답자 개체를위한 것입니다. 액션을 연결하기위한 프록시 객체입니다. 보내진 모든 액션 메시지는 응답 체인을 받아들이는 첫 번째 객체로 전달됩니다. 문서 기반 응용 프로그램의 경우 응답 체인에는 현재 문서가 포함됩니다. 메뉴 항목을 문서에 연결하려면 다음을 수행하십시오.

  1. 필요한 경우 첫 번째 응답자에 작업을 추가하십시오. IB의 검사기 창에서이 작업을 수행 할 수 있습니다.
  2. 정상적인 개체 인 것처럼 첫 번째 응답자에 작업을 연결합니다.
  3. 문서에 작업 메서드를 구현합니다.

첫 번째 응답자에 프로그래밍 방식으로 메시지를 추가해야하는 경우 대상의 대상을 nil으로 설정하십시오.

+1

내 Document.h에'IBAction'을 추가했을 때 MainMenu.xib의 첫 번째 응답자의 작업 목록에 바로 나타났습니다. 덕분에 많은 도움이되었습니다. – mtmurdock

+0

왜 그런지 잘 모르겠지만 @mtmurdock은 IBAction이 수퍼 클래스에서 구현되었지만 자신의 고유 한 IBAction 메서드를 정의한 다음 여기에서 수퍼 클래스 메서드를 호출해야한다고 말했습니다. 이것은 NSPersistentDocument 확장을위한 것입니다. –

+1

@CaspNZ IB가 별도의 응용 프로그램 인 경우이 지침은 Xcode 4 이전 버전입니다. 이제 자동으로 표시됩니다. 정상적으로 메소드를 오버라이드하면 버전이 호출되고 슈퍼 구현을 호출 할 수있다. – ughoavgfhw

관련 문제