Cocoa 4 Responders

接收事件消息的对象就叫Responder。Cocoa 的 NSResponder 抽象类封装了responder 的角色。NSResponder 连同三个子类NSView, NSWindow,NSApplication 可称做是(四大金刚)。因为这些类是AppKit事件处理架构的基石。

NSResponder 的事件处理消息的参数只有一个NSEvent类的实例。形式如:
- (void)mouseUp:(NSEvent *)theEvent;


NSEvent 类的事件处理方法:

–  mouseDown: 
–  mouseDragged: 
–  mouseUp: 
–  mouseMoved: 
–  mouseEntered: 
–  mouseExited: 
–  rightMouseDown: 
–  rightMouseDragged: 
–  rightMouseUp: 
–  otherMouseDown: 
–  otherMouseDragged: 
–  otherMouseUp: 
–  scrollWheel: 
–  keyDown: 
–  keyUp: 
–  flagsChanged: 
–  helpRequested: 
–  tabletPoint: 
–  tabletProximity: 

特殊键事件
–  interpretKeyEvents: 
–  performKeyEquivalent: 
–  performMnemonic:


每个NSResponder 实例都有一指针指向下一个实例。当一个resonder 实例无法处理接收到的事件时,事件对象就会送去下一个nsresponder 实例,从而形成一个 responder chain. 这也是四人帮GOF 的Chain of Responsibility 模式。

http://www.research.umbc.edu/~tarr/dp/lectures/Chain.pdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值