ios – 使用Swift UIApplication子类的Objective-C项目.错误:未加载类

ios – 使用Swift UIApplication子类的Objective-C项目.错误:未加载类,第1张

概述我有一个用Objective-C编写的项目,我刚刚使用 Swift添加了一个UIApplication子类:RMFApplication.swift(在帖子末尾实现).但是,我收到此错误: Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘Unable to instanti 我有一个用Objective-C编写的项目,我刚刚使用 @L_301_0@添加了一个UIApplication子类:RMFApplication.swift(在帖子末尾实现).但是,我收到此错误:

Terminating app due to uncaught exception ‘NSInternalinconsistencyException’,reason: ‘Unable to instantiate the
UIApplication subclass instance. No class named RMFApplication is
loaded.’

>在我的info.pList中,我正确地指定了名称
nsprincipalClass,并仔细检查它.
>我读了this answer然后查看了我自己的main.m,其中说:返回UIApplicationMain(argc,argv,nil,NsstringFromClass([RMFAppDelegate class]));.
> UIApplicationMain的文档说如果nil被指定为thrID值,那么假定UIApplication,但为什么我的错误消息包含我的自定义类名?我必须假设nil意味着它将读取info.pList值.

注意:子类化UIApplication与RMFApplication.h和
   RMFApplication.m.唯一改变的是重命名
   这些文件和RMFApplication.swift文件的添加
   编译时没有警告:

import UIKitclass RMFApplication: UIApplication {    overrIDe func openURL(url: NSURL) -> Bool    {        println(url.description)        return false;    }}

我知道我可以继续使用Objective-C,但我想尝试迁移到Swift,除非两者真的不能很好地结合在一起.

解决方法 也许这是因为它使用NsstringFromClass或其他东西,所以在Swift RMFApplication中是 “mangled” and becomes something like “somePrefix”RMFApplication(或者与“RMFApplication”不同).

你可以试试这个:

@objc(RMFApplication) class RMFApplication: UIApplication

然后NsstringFromClass将返回“RMFApplication”.

总结

以上是内存溢出为你收集整理的ios – 使用Swift UIApplication子类的Objective-C项目.错误:未加载类全部内容,希望文章能够帮你解决ios – 使用Swift UIApplication子类的Objective-C项目.错误:未加载类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1060695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存