我使用Realm,它的模型类需要open
个关键字。
关注https://blog.jetbrains.com/kotlin/2016/12/kotlin-1-0-6-is-here/,
我尝试使用全开放编译器插件从Realm模型类中删除open
关键字。
首先,我添加了全开放编译器插件并设置了注释的包名称
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
}
}
apply plugin: "kotlin-allopen"
allOpen {
annotation("com.mycompany.myapp.annotation")
}
其次,我生成了注释
package com.mycompany.myapp.annotation
annotation class AllOpenAnnotation
最后,我将注释添加到了Realm模型类
@AllOpenAnnotation
class Model {
var id: Int = -1,
var title: String = "",
var desc: String? = null
}: RealmObject()
但是发生error: cannot inherit from final Model
错误。
我做错了吗?
答案 0 :(得分:9)
您需要将注释的名称添加到配置文件中的路径:
allOpen {
annotation("com.mycompany.myapp.annotation.AllOpenAnnotation")
}