我是可可编程的新手,我想问问是否有人可以向我解释如何-(BOOL)makeFirstResponder:(NSResponder *)responder;
方法有效。我打算将其用于NSEvent
,但是有人可以告诉我如何实现它吗?
我正在尝试使用NSResponder
类为我提供一个有效的-keyDown
方法。
最佳答案
NSResponder是可可中的基本类之一。任何可以响应按键或菜单命令等事件的类都应该是NSResponder的子类。每个响应者都跟踪其“下一个响应者”,并且每个窗口都跟踪当前是“第一响应者”的对象。当窗口中发生事件时,会向第一响应者发送一条消息。如果该对象能够处理消息,那就太好了。如果没有,它将传递给下一个响应者。这就是所谓的“响应链”。
通常,您对可可中的响应者链不会感到太多困扰。第一响应者主要由用户操作(例如单击控件)确定。
“将其用于NSEvent”没有任何意义。 NSEvent不是响应者,而是使响应者能够完成其工作的东西。
如果您更清楚地描述您要完成的任务,那么我相信我们可以为您指明正确的方向。