最近,我将我的KMP项目拆分为全栈项目和核心库(主要由公共数据类组成),并发现我需要在一个公共模块中定义的一个数据类上使用JVM库中的注释。
似乎不可能在Kotlin公共代码中使用Java库中的批注。
有什么可能的方法来解决这个问题,最好避免通过expect声明这样的数据类,然后在actual平台上重复它的实现,但使用不同的注释?
发布于 2020-09-08 23:52:34
你可以自己expect/actual注解。
比方说,如果你有一个像这样的JVM注解,@Entity
您可以拥有像src/commonMain/Entity.kt这样的文件
expect annotation class Entity()在src/androidMain/Entity.kt中
actual typealias Entity = package.to.Entity在src/iosMain/Entity.kt中
actual annotation class Entity()现在,您可以继续在您的通用代码中使用它
@Entity
data class Movies(
val title: String,
val release: Int
)https://stackoverflow.com/questions/63688014
复制相似问题