无法将 iOS 中常见的 Kotlin 扩展函数用作 Swift 扩展
Not able to use Kotlin Extension Function written in common in iOS as Swift Extension
我有一个 Kotlin Multiplatform 项目设置 Android & cocoapods for iOS.
我在 commonMain/src
中有一个文件 Extensions.kt
,具有以下功能:
fun String.isValidEmail(): Boolean {
return validate(ValidatorRegex.EMAIL)
}
我可以在 Android 中访问此功能作为 String
扩展:
"abcd@gmail.com".isValidEmail()
但是在iOS中使用Swift,我需要调用它作为另一个class的静态方法:
ExtensionsKt.isValidEmail("abcd@gmail.com")
它应该将 commonMain/src
方法转换为 String
的 Swift 扩展,而不是使用静态方法的 class。
我是不是漏了什么配置?
您在这里做所有事情。不幸的是,此选项目前不可用。某些 类 的扩展名转换可能会正确执行,但 Swift 的 String
则不是。这是一个众所周知的不便,K/N 团队正在努力改进它。
我有一个 Kotlin Multiplatform 项目设置 Android & cocoapods for iOS.
我在 commonMain/src
中有一个文件 Extensions.kt
,具有以下功能:
fun String.isValidEmail(): Boolean {
return validate(ValidatorRegex.EMAIL)
}
我可以在 Android 中访问此功能作为 String
扩展:
"abcd@gmail.com".isValidEmail()
但是在iOS中使用Swift,我需要调用它作为另一个class的静态方法:
ExtensionsKt.isValidEmail("abcd@gmail.com")
它应该将 commonMain/src
方法转换为 String
的 Swift 扩展,而不是使用静态方法的 class。
我是不是漏了什么配置?
您在这里做所有事情。不幸的是,此选项目前不可用。某些 类 的扩展名转换可能会正确执行,但 Swift 的 String
则不是。这是一个众所周知的不便,K/N 团队正在努力改进它。