【发布时间】:2021-03-07 18:10:59
【问题描述】:
我有一个返回 Nullable 的 kotlin 函数,如下所示:
fun getBoolOrNil(): Boolean? {
if (something){
return true
}
return null
}
然后我将它与 iOs 的 ObjectiveC 原生的 kotlin 进行交叉编译,但结果库中我与 objC/swift 一起使用的方法返回
__attribute__((swift_name("KotlinBoolean")))
@interface MyLibBoolean : MyLibNumber
- (instancetype)initWithBool:(BOOL)value;
+ (instancetype)numberWithBool:(BOOL)value;
@end;
虽然 MyLibNumber 只是一个
@interface MyLibNumber : NSNumber
...
这是交叉编译器试图给我一些我可以使用的东西,比如 Optional/Nullable 还是这个对象不能用于这个目的?我知道 ObjectiveC 不支持 Optionals/Nullables,但我不明白 Crosscompiler 在这里给我的这个 Object。
【问题讨论】:
标签: objective-c swift kotlin kotlin-multiplatform kotlin-native