Pin*_*kin 4 extension-methods ios kotlin swift kotlin-multiplatform
我有一个 Kotlin Multiplatform 项目设置,带有适用于 iOS 的 Android 和 cocoapods。
我有一个文件Extensions.kt中commonMain/src具有以下功能:
fun String.isValidEmail(): Boolean {
return validate(ValidatorRegex.EMAIL)
}
Run Code Online (Sandbox Code Playgroud)
我可以在 Android 中访问此功能作为String扩展:
"abcd@gmail.com".isValidEmail()
Run Code Online (Sandbox Code Playgroud)
但是在使用 Swift 的 iOS 中,我需要将它作为另一个类的静态方法来调用:
ExtensionsKt.isValidEmail("abcd@gmail.com")
Run Code Online (Sandbox Code Playgroud)
它应该将该commonMain/src方法转换为 Swift 扩展String而不是具有静态方法的类。
我缺少任何配置吗?
你在这里做所有的事情。不幸的是,此选项目前不可用。某些类可能会正确执行扩展转换,但 SwiftString不是。这是一个众所周知的不便,K/N 团队正在努力使其变得更好。