首页 > 解决方案 > 类型转换 SIGABRT

问题描述

我正在尝试从框架动态加载类,但应用程序因转换发送 SIGABRT 信号而崩溃:

let newClassType = NSClassFromString("MyFramework.CustomClass") as! BaseClass.Type

使用在 MyApp 中声明的类,它与框架的类一样工作得很好,但没有转换。

BaseClass.swift(MyApp.xcodeproj 并复制到 MyFramework):

public class BaseClass{
...
}

CustomClass.swift(MyFramework.xcodeproj):

public class CustomClass: BaseClass{
...
}

可能是什么问题?

标签: iosswiftoopframeworks

解决方案


来自我建议使用的问题和评论typealias

import MyFramework

typealias FrameworkBaseClass = MyFramework.BaseClass
typealias FrameworkCustomClass = MyFramework.CustomClass

然后如果你想在其他文件中使用FrameworkBaseClass,你不必导入FrameworkCustomClass.swiftMyFramework


推荐阅读