我对 iPhone 编码比较陌生,尽管我已经达到了开发真正(希望)可销售的应用程序的地步。
但是还有一件很神秘的事情是响应者链。所有的书都给出了它的参考,但我还没有找到一本描述如何修改该链的书。另一个好奇是,当在 IB 中单击 First Responder 图标时,一个小连接框会出现各种选择来连接某些东西,但我从未找到任何解释。
有谁知道这个响应过程的深入解释?
我对 iPhone 编码比较陌生,尽管我已经达到了开发真正(希望)可销售的应用程序的地步。
但是还有一件很神秘的事情是响应者链。所有的书都给出了它的参考,但我还没有找到一本描述如何修改该链的书。另一个好奇是,当在 IB 中单击 First Responder 图标时,一个小连接框会出现各种选择来连接某些东西,但我从未找到任何解释。
有谁知道这个响应过程的深入解释?
这是 Jeff Lamarches 对响应者链的解释。虽然并非详尽无遗,但它应该让您在正确的轨道上思考。
响应者链是各种对象有机会处理事件的顺序。在一个简单的情况下,假设我们在 NSApp 的 NSWindow 中的 NSView 中有一个按钮。单击按钮时;按钮将首先有机会处理事件,然后是它的控制器,然后是 NSView,然后是它的控制器,然后是 NSWindow,然后是它的委托,然后是 NSApp 和它的委托。这样,首先给一个对象一个处理事件的机会,然后是它的控制器/委托,然后是对象的容器等等。还有其他情况要复杂得多。
对象通过实现 -(void)respondToFictionalEvent:(UIEvent *)event 来处理事件。如果发生这种情况,则该事件将被“消耗”(防止自动进一步向上传递)。