【发布时间】:2009-08-10 11:22:08
【问题描述】:
在修复第三方代码时,我发现了一个绝妙的主意)Guy 在项目 xibs 中使用了 2 个 appDelegate 对象。我想他认为这将是某种单音或类似的。但是在重新思考了那段代码之后,我发现它没有任何技术限制。 这是我的示例:带有 navController 和 2 个视图的简单项目。每个都有它的 viewController。当应用程序启动时,第一个视图出现在屏幕上。当用户点击按钮时,第二个视图被推送到 navController。现在 MainWindow.xib 中有 appDelegate 对象。现在,如果您将相同的 appDelegate 对象添加到第二个视图的 xib。现在,当第二个视图被推送时,您可以看到另外一个 appDelegate 实例被创建和销毁(如果您将覆盖 init 和 dealloc 方法并在那里插入日志)。 在这里,我感到非常惊讶。是不是意味着只能创建一个 appDelegte 实例?如果是,那为什么? appDelegate 只是一个实现 UIApplicationDelegate 协议的 NSObject 子类。
【问题讨论】: