已经有这样的问题得到了解答,但是,我对答案不满意:Why does AppDelegate inherit from UIResponder?。
我想了解更多细节,因为我正在尝试了解iOS应用的架构。
据我所知,UIResponder用于“响应”外力(即触摸事件,运动事件等)。 为什么应用程序的初始化需要成为UIResponder?也许我不明白AppDelegate的实例是做什么的。
答案 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/