Gra*_*ham 1 delegates objective-c
Objective-C中的委托是否定义为一个充满对象事件监听器的类?
委托只是另一个对象可用于查询或自定义行为的对象; 仅此而已.没有涉及事件处理程序.它是一种模式,用于避免在其他面向对象的UI工具包中经常看到的大量子类化问题.
例如,不是将NSWindow子类化为在resize上提供自定义行为,而是仅在某个类上实现一些方法,并使用该类的实例作为委托.由于此类实现通常依赖于控件或模型层信息,因此将控制层类用作委托而非子类NSWindow更自然,并且不会污染具有控制层功能的视图层对象.
在幕后,代表们很简单.在调整大小时,NSWindow只询问代表"您是否对方法做出响应windowWillResize:toSize:,如果确实如此,则在正确的时间调用它;除了直接objc_msgSend()之外没有任何内容.
| 归档时间: |
|
| 查看次数: |
520 次 |
| 最近记录: |