2011-12-28 4 views
0

내가 수동으로 사용자가보기 내에서 키를 누르면tryToPerform :를 keyDown이 때 호출되지 않는 : 호출되는

self.nextResponder = self.view.nextResponder; 
self.view.nextResponder = self; 

를 호출하여 응답자 체인에 넣어 NSViewController, 나는 수 있어요가 성공적으로 keyDown: 메시지를 수신합니다. 그러나 사용자가 MainMenu 막대에 액세스 할 때 어떤 이유로 나는 tryToPerform:with:validateMenuItem: 메시지를받지 못합니다. 내가 여기서 무엇을 놓치고 있니?

답변

0

이 호출되기 전에 실제로 respondsToSelector: 메시지가 전송됨을 알 수 있습니다. NSViewController이 실제로 메시지에 응답하지 않으면 validateMenuItem이 절대 호출되지 않습니다. 즉, 전 과정에서 나는 결코 tryToPerform:with:을 전혀 보지 못했다고 보았습니다. 이유는 모르지만 코코아의 이벤트 프로그래밍 가이드를보고 다시보고 할 것입니다.