我的一个java类实现了两个方法:
public OutputStream getOutputStream(){
return null;
}
public int getV(){
return 3;
}
使用j2Objc转换后,我尝试在swift中调用这些方法:
func test() {
let i = ComExampleTestSharedMyClass()
var v = d.getV()
var s = d.getOutputStream()
}
Instantiation和getV()编译得非常好,但getOutputStream()不会并显示消息:
ComExampleTestSharedMyClass has no member getOutputStream.
在MyClass.h中,我可以看到两种翻译方法:
- (jint)getV;
- (JavaIoOutputStream *)getOutputStream;
明显的区别在于返回的类型是jre_emul的一部分。
出于测试目的,我在Objective-C(我的第一次尝试!)中进行了测试:
#import "Configurator-Bridging-Header.h"
@implementation TestGetOutputStream
- (void) theTest{
ComExampleTestSharedMyClass* i = [ComExampleTestSharedMyClass alloc];
[i getOutputStream];
}
@end
它用Objective-C编译,那么我能为swift做些什么呢?
答案 0 :(得分:0)
好吧,我被编译器消息愚弄了,说该类没有所请求的方法,而实际上它是该方法的返回类型 那是未知的。
如果我添加#import" OutputStream.h"它可以工作。在桥接标题中。