如何继承 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 已被继承,因为 networkActivityIndicatorVisible、statusBarStyle 等属性必须用于应用程序委托本身。而且这个项目中没有xib文件。一切都以编程方式完成。甚至主窗口也是通过编码调用的。所以请有人帮助我。有点紧急。
【参考方案1】:
您不应该从 UIApplicationDelegate 继承,而是实现 UIApplicationDelegate 协议。
例子:
@interface SampleAppDelegate : NSObject <UIApplicationDelegate>
UIWindow *window;
MainViewController *mainViewController;
【讨论】:
是的,我已经实现了未继承的以上是关于如何继承 UIApplication 而不是 NSObject的主要内容,如果未能解决你的问题,请参考以下文章
我们啥时候应该使用 FileManager.default.urls 而不是 NSSearchPathForDirectoriesInDomains? [复制]
我如何了解 UIApplication 是不是要在 Safari 应用程序中打开链接?