NSToolbar와 뷰 컨트롤러 :나는 다음과 같은 클래스 계층 구조가 계층 구조
NSViewController
MyGeneralViewController
ViewControllerA
ViewControllerB
MyGeneralViewController
이 ViewControllerA
및 ViewControllerB
모두 사용되는 공통 코드를 보유하고 있습니다. 공통 코드의 한 부분은 NSToolbar
의 생성과 NSToolbarDelegate
에 필요한 프로토콜 방법의 구현입니다.
툴바에있는 버튼 중 하나는 사용자가 NSTextView
을 별도의 창 (더 많은 부동산, 키워드 작업 등을위한 추가 기능)으로 열 수있는 버튼입니다.
이 방법은 :
- (IBAction) openTextWindow: (id) sender {
[self setTextWindowController: [[TextWindowController alloc] init]];
[[self textWindowController] showWindow];
}
이러한 툴바 버튼 만 ViewControllerA
제어보기 위해 사용할 수 있습니다. 내 이유는 ViewControllerA
에 대해서만 openTextWindow
메서드를 구현하면 런타임 시스템이 정의 된 메서드를 찾기 위해 클래스 계층 구조로 올라갈 것이므로 ViewControllerB
으로 제어되는 뷰에 대해 도구 모음 단추가 회색으로 표시됩니다 (사용할 수 없음). toolbarbutton을 찾아서 찾지 못했습니다.
이것은 그렇지 않습니다. MyGeneralViewController
으로 메소드를 구현할 때, 버튼은 항상 사용 가능합니다 (예상했던대로,하지만 원하는 것은 아닙니다). 하지만 ViewControllerA
에 대해서만 구현하면 결코 사용할 수 없게됩니다.
내가 누락되었거나 작동하는 방식입니까?