响应者操作和响应者链

时间:2009-12-06 04:39:21

标签: first-responder

我对IPhone编码比较陌生,虽然我已经达到了开发真正(希望)可销售的应用程序的程度。

但有一点仍然是神秘的是响应者链。所有的书都提供了传递参考,但我还没有找到一个描述如何修改该链的书。另一个好奇心是,当在IB中点击First Responder图标时,会出现一个小连接框,提供各种选择以连接到某些内容,但我从未找到任何解释。

有谁知道对此响应程序进行深入解释?

2 个答案:

答案 0 :(得分:3)

响应者链的

Here's Jeff Lamarches explanation。虽然不是那么详尽,但它应该让你思考正确的轨道。

答案 1 :(得分:2)

响应者链是各种对象有机会处理事件的顺序。在一个简单的例子中,假设我们在NSApp中的NSWindow中的NSView中有一个按钮。单击按钮时;按钮将有第一次机会处理事件,然后是其控制器,然后是NSView,然后是其控制器,然后是NSWindow,然后是其代理,然后是NSApp及其代理。通过这种方式,首先给对象一个处理事件的机会,然后是它的控制器/委托,然后是对象的容器等等。还有其他案例很多more complicated

对象通过实现 - (void)respondToFictionalEvent:(UIEvent *)事件来处理事件。如果发生这种情况,那么事件将被“消耗”(防止被自动传递到链中)。