为什么AppDelegate类继承自UIResponder?

时间:2016-04-02 20:03:20

标签: ios appdelegate uiresponder

已经有这样的问题得到了解答,但是,我对答案不满意:Why does AppDelegate inherit from UIResponder?

我想了解更多细节,因为我正在尝试了解iOS应用的架构。

据我所知,UIResponder用于“响应”外力(即触摸事件,运动事件等)。 为什么应用程序的初始化需要成为UIResponder?也许我不明白AppDelegate的实例是做什么的。

1 个答案:

答案 0 :(得分:3)

应用程序委托类继承自UIResponder。

这样委托实例可以参与响应者链,从而处理应用程序级别的操作。

编辑:

  

从iOS 5开始,步骤6:应用代表获得最后一个字   事件。从iOS 5开始,应用程序委托继承自   UIResponder,不再像以前那样来自NSObject。

     

简而言之:首先是视图,如果视图有一个视图控制器那么,   接下来是superview,直到层次结构的顶部,即窗口。从   那里是应用程序,最后是应用程序代表。

     

欢迎添加应用代表作为潜在响应者   因为我们很少 - 如果有的话 - 亚类UIApplication或   一个UIWindow。但是我们总是拥有自己的app委托,如果只是为了创建   在窗口中添加rootViewController   application:didFinishLaunching ...委托方法。所以这恰好是   对于响应者来说,事实上最好的地方就是如果存在的话   整个视图层次结构中没有。

取自:

https://www.cocoanetics.com/2012/09/the-amazing-responder-chain/