我正在为现有的Objective-C项目添加swift代码.我在引用现有前缀标头中的定义时遇到问题.
我有一个名为MyClass的类,在Objective-C中用.h定义:
@interface MyClass
+(instancetype)myClass;
-(void)doStuff;
@end
Run Code Online (Sandbox Code Playgroud)
而.m:
@implementation MyClass
+ (instancetype) myClass
{
// More to it than this, but this illustrates the setup
return [[MyClass alloc] init];
}
- (void)doStuff
{
// Do something interesting
}
@end
Run Code Online (Sandbox Code Playgroud)
前缀头MyProj-Prefix.pch包含:
#define MYCLASS MyClass
#define SOMEVAR @"Hello"
Run Code Online (Sandbox Code Playgroud)
我创建了一个桥接头,其中包含:
#import "MyProj-Prefix.pch"
Run Code Online (Sandbox Code Playgroud)
该项目包含使用类定义的Objective-C代码,例如
[[MYCLASS myClass] doStuff];
Run Code Online (Sandbox Code Playgroud)
我想在我的新swift代码中反映这一点.我可以看到并引用已定义的变量,但是定义的类是不可见的.例如
let someStr = SOMEVAR // This compiles
MYCLASS.myClass.doStuff() // MYCLASS isn't visible
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一点的任何指针?我甚至不确定这是否可以迅速实现.