我对IPhone编码比较陌生,虽然我已经达到了开发真正(希望)可销售的应用程序的程度。
但有一点仍然是神秘的是响应者链。所有的书都提供了传递参考,但我还没有找到一个描述如何修改该链的书。另一个好奇心是,当在IB中点击First Responder图标时,会出现一个小连接框,提供各种选择以连接到某些内容,但我从未找到任何解释。
有谁知道对此响应程序进行深入解释?
答案 0 :(得分:3)
Here's Jeff Lamarches explanation。虽然不是那么详尽,但它应该让你思考正确的轨道。
答案 1 :(得分:2)
响应者链是各种对象有机会处理事件的顺序。在一个简单的例子中,假设我们在NSApp中的NSWindow中的NSView中有一个按钮。单击按钮时;按钮将有第一次机会处理事件,然后是其控制器,然后是NSView,然后是其控制器,然后是NSWindow,然后是其代理,然后是NSApp及其代理。通过这种方式,首先给对象一个处理事件的机会,然后是它的控制器/委托,然后是对象的容器等等。还有其他案例很多more complicated。
对象通过实现 - (void)respondToFictionalEvent:(UIEvent *)事件来处理事件。如果发生这种情况,那么事件将被“消耗”(防止被自动传递到链中)。