OStack程序员社区-中国程序员成长平台

标题: ios - 没有单元返回类型的Kotlin多平台Lambda调用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 05:24
标题: ios - 没有单元返回类型的Kotlin多平台Lambda调用

我有一个适用于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世界似乎可以自行处理返回类型(单元)(无需返回任何内容),而您必须在iOS中返回KotlinUnit()

我想在iOS上实现相同的目标(不使用return KotlinUnit()进行回调)



Best Answer-推荐答案


请参阅https://github.com/JetBrains/kotlin-native/pull/2968,它将在即将发布的Kotlin / Native版本中合并。

关于ios - 没有单元返回类型的Kotlin多平台Lambda调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56216840/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4