我正在并行开发应用程序和框架。 这个应用程序在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;是不变的还是一直在变化?