如何继承 UIApplication 而不是 NSObject

Posted

技术标签:

【中文标题】如何继承 UIApplication 而不是 NSObject【英文标题】:How to inherit UIApplication instead of NSObject 【发布时间】:2010-12-10 11:26:56 【问题描述】:

我有三个 Xcode 项目,我想将它们集成到一个项目中。其中两个项目是基于视图的应用程序,因此应用程序委托继承了 NSObject 和 UIApplicationDelegate。但是第三个项目不是基于视图的应用程序,因此应用程序委托继承了 UIApplication。

所以现在我正在修复中。我应该如何整合它们三个,因为如果我试图让我的第三个类继承 NSObject 那么会有很多错误。即使我处理了这些错误,应用程序在运行时也会崩溃并给出异常:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“只能有一个 UIApplication 实例。”

那我现在该怎么办?

【问题讨论】:

应用程序委托从UIApplication继承绝对没有意义。 uiapplication 已被继承,因为 networkActivityIndi​​catorVisible、statusBarStyle 等属性必须用于应用程序委托本身。而且这个项目中没有xib文件。一切都以编程方式完成。甚至主窗口也是通过编码调用的。所以请有人帮助我。有点紧急。 【参考方案1】:

您不应该从 UIApplicationDelegate 继承,而是实现 UIApplicationDelegate 协议。

例子:

@interface SampleAppDelegate : NSObject <UIApplicationDelegate> 
    UIWindow *window;
    MainViewController *mainViewController;

【讨论】:

是的,我已经实现了未继承的 。我没有正确解释,我的错。但问题仍然存在。我不得不让我的第三个应用继承 nsobject。 如果您希望我们能够为您提供更多帮助,您必须发布一些代码。

以上是关于如何继承 UIApplication 而不是 NSObject的主要内容,如果未能解决你的问题,请参考以下文章

你真的了解UIApplication吗?

我们啥时候应该使用 FileManager.default.urls 而不是 NSSearchPathForDirectoriesInDomains? [复制]

我如何了解 UIApplication 是不是要在 Safari 应用程序中打开链接?

如何继承继承的方法而不是覆盖继承的方法?

如何从 Control 继承,而不是 UserControl?

C ++如何确保在使用虚拟继承时它调用继承而不是基函数