Apple event
我们以最常用的鼠标或键盘操作来说明事件传递到应用的过程.当用户按下鼠标或者键盘时:
1.硬件设备首先检测到用户的这个操作,然后通过驱动程序将这个操作动作转换为操作数据....从另一种意义上讲,应用程序是被事件(event)驱动的:
它从runloop的事件队列中获取一个事件(NSEvent)
派发事件(NSEvent)到合适的对象(Object)
事件被处理完成后,再取下一个事件...自身来处理,比如应用的隐藏/显示/激活状态/失去激活状态等....当用户在一个视图控件上点击鼠标按钮后,如果包含这个视图的NSWindow不是key Window,那么这个NSWindow将会变成key Window,并且丢弃本次的鼠标事件;也就是说如果你用鼠标点击了一个不是...关于键盘事件的派发与处理细节,大家可以查看苹果官方文档Handling Key Events
其他事件派发
在应用程序中,我们可以使用NSTrackingArea类添加一个监控区域,这些事件NSWindow