2012-01-17 2 views
0

NSToolbar와 뷰 컨트롤러 :나는 다음과 같은 클래스 계층 구조가 계층 구조

NSViewController 
    MyGeneralViewController 
    ViewControllerA 
    ViewControllerB 

MyGeneralViewControllerViewControllerAViewControllerB 모두 사용되는 공통 코드를 보유하고 있습니다. 공통 코드의 한 부분은 NSToolbar의 생성과 NSToolbarDelegate에 필요한 프로토콜 방법의 구현입니다.

툴바에있는 버튼 중 하나는 사용자가 NSTextView을 별도의 창 (더 많은 부동산, 키워드 작업 등을위한 추가 기능)으로 열 수있는 버튼입니다.

이 방법은 :

- (IBAction) openTextWindow: (id) sender { 

    [self setTextWindowController: [[TextWindowController alloc] init]]; 
    [[self textWindowController] showWindow]; 

} 

이러한 툴바 버튼 만 ViewControllerA 제어보기 위해 사용할 수 있습니다. 내 이유는 ViewControllerA에 대해서만 openTextWindow 메서드를 구현하면 런타임 시스템이 정의 된 메서드를 찾기 위해 클래스 계층 구조로 올라갈 것이므로 ViewControllerB으로 제어되는 뷰에 대해 도구 모음 단추가 회색으로 표시됩니다 (사용할 수 없음). toolbarbutton을 찾아서 찾지 못했습니다.

이것은 그렇지 않습니다. MyGeneralViewController으로 메소드를 구현할 때, 버튼은 항상 사용 가능합니다 (예상했던대로,하지만 원하는 것은 아닙니다). 하지만 ViewControllerA에 대해서만 구현하면 결코 사용할 수 없게됩니다.

내가 누락되었거나 작동하는 방식입니까?

답변

0

이상한. 이것을 잠시 후에 떠난 후에, 나는 그것을 한 번 더하기로 결심했다. 프로젝트가 깨끗 해지면 모두 예상대로 작동했습니다.

관련 문제