首页 > 编程知识 正文

responder例句,First responder

时间:2023-05-06 21:01:28 阅读:268123 作者:470

响应链是一种消息处理机制,它是以组有序的响应者对象组成的链条。

当消息进入响应链条后,由响应者对象依次判断是否能够处理该消息,当一个响应者对象不能处理此条消息的时,它会将消息传递给它的继任者(也就是下一个响应对象)。响应链具有如下特性:

1.由AppKIt自动创建

2.一个App同一时刻可以包含任意数量的响应链,但同一时刻仅能有一条响应链处理消息。

3.可以在响应链中插入响应者:(通过NSResponder的setNextResponder:的方法)

4.不同的事件消息,在响应链中会有不同的响应逻辑;

响应消息的种类

响应链处理的消息大体上分为两种:Event Messages和Action Messages

Event Messages(事件消息:)

Event Messages主要是指的是由键盘/鼠标/触控板触发的NSEvent事件。几乎所有的Event Messages都由当前的窗口对象(NSWindow)的响应链进行处理;事件消息的处理起始于NSWindow的第一个对象

对于键盘事件,响应是从窗口的第一响应者开始;

对于鼠标/触控板事件,响应是从用户操作的view开始;

如果事件消息在最初没有响应,娜美响应链将按照视图的层级结构依次传递消息,直到窗口对象(NSwindow)为止,如果当前窗口对象是由NSWindowController管理的,那么这个NSWindowController将会成为最终的事件响应者;当整个响应链都没有完成对事件的处理时,响应链会调用最后的noREsponderFor:方法,可以根据具体需求来重写这个方法实现相应的功能;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。