我有一个适用于 Android 和 iOS 的多平台 Kotlin 项目。公共模块中的函数是这样写的:
fun test(successCallback: (String) -> Unit, errorCallback: (Error) -> Unit) {
successCallback("success")
}
Android函数使用:
Common.test(successCallback = {
Log.d(TAG, it)
},
errorCallback = {
Log.d(TAG, it)
}
})
iOS使用函数:
Common.test(successCallback: { it in
print(it)
return KotlinUnit()
}, errorCallback: { error in
print(error)
return KotlinUnit()
})
JVM世界似乎自己处理返回类型(Unit)(不需要返回任何东西),而你必须KotlinUnit()
在iOS中返回。
我想在 iOS 上实现同样的效果(没有回调return KotlinUnit()
)