从objc框架中分配Objc项目中生成的Swift类及其名称

时间:2017-11-03 12:06:32

标签: objective-c swift

我正在并行开发应用程序和框架。 这个应用程序在objc中,但是当框架在objc中时,使用桥接头来集成Swift classe。 在框架中,我需要从主app中实例化一个Swift类,只知道它的名字。 要实例化objc类,此解决方案可以正常工作:

Class classToInstantiate = [[NSBundle mainBundle] classNamed:"ClassNameToInstantiate"];
return [classToInstantiate new];

但是对于swift我需要打开Project-Swift.h,找到该类的前缀并更改名称 在Project-Swift中:

SWIFT_CLASS("_TtC16PModuleNameClassNameToInstantiate")
@interface ClassNameToInstantiate : NSObject <ApplicationLoaderInterface>

然后我必须写下这个:

Class classToInstantiate = [[NSBundle mainBundle] classNamed:"_TtC16PModuleNameClassNameToInstantiate"];
return [classToInstantiate new];

你知道前缀是&#34; _TtC16&#34;是不变的还是一直在变化?

0 个答案:

没有答案