图片来自网络
在AppKit中的事件都处于一个响应的链条中,这个链条是由一个叫做NSResponder 的类定义的,这个响应链条其实是一个列表,它里面装满了能够响应用户事件的对象.当用户点击鼠标,或者按下键盘的某个键...,或者触摸触控板,都会生成一个Event事件,然后在响应链条中寻找可以处理这个事件的对象对事件进行处理....7.当应用进程的runloop接收到事件后,就开始了事件响应机制,从此刻后,将事件将遵循NSResponder类的处理....通常情况下,应用程序只有在前台运行的时候才会接收鼠标和键盘的事件;当应用处于后台时,即便是在运行中,一般也不会响应鼠标和键盘的事件,除非是要将这个应用唤醒到前台的事件才会得到响应
事件循环runloop...window,然后窗口(key window)对象会调用第一响应者的keyDown:方法,将事件传递到整个响应链条中.