非文档App,有NSWindowController
0x02 响应者
响应者是一个能够接收消息的对象,并且可以响应行为,响应者通常都继承自NSResponder;例如App Kit中的NSApplication..., NSWindow, NSDrawer, NSWindowController, NSView等均是如此; 响应者是构成响应链中的一部分.
0x03 第一响应者
第一响应者是指用户通过鼠标或者键盘选择的交互对象...当一个NSWindow对象在接收到鼠标点击(mouse-down)事件时,会自动设置鼠标所处的View为第一响应者;那么NSWindow对象如何确认某个对象是否能够成为第一响应者呢?...在ViewController中实现键盘按下事件/鼠标点击事件 并在视图加载完毕后,输出响应链信息:
?...设置响应者
变更后的响应链如图:
?
修改后的响应链效果
代码运行后,点击键盘(功能键除外)可以看到ViewController的keyDown:方法正常输出:
?