mis*_*ope 5 kotlin-multiplatform
最近,我将 KMP 项目拆分为全栈项目和核心库(主要由公共数据类组成),并发现我需要对现在在公共数据类中定义的数据类之一使用 JVM 库中的注释。模块。
似乎不可能在 Kotlin 公共代码中使用 Java 库中的注释。
有哪些可能的方法可以解决此类问题,最好避免通过声明此类数据类expect,然后在actual平台中使用不同的注释重复其实现?
你可以expect/actual自己注释它。
比如说,如果你有一个像这样的 JVM 注释,@Entity
你可以有这样的文件src/commonMain/Entity.kt
expect annotation class Entity()
Run Code Online (Sandbox Code Playgroud)
并在src/androidMain/Entity.kt
actual typealias Entity = package.to.Entity
Run Code Online (Sandbox Code Playgroud)
并在src/iosMain/Entity.kt
actual annotation class Entity()
Run Code Online (Sandbox Code Playgroud)
现在您可以继续在通用代码中使用它
@Entity
data class Movies(
val title: String,
val release: Int
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |