当使用REALM的4.3.3版本进行Android开发时,我得到以下错误:
Error: Field "groupName" with type "pizware.evaluapp.Models.Group" can not be @Required or @NotNull.
但我没有对任何字段使用这些标签。有人知道这是怎么回事吗?
发布于 2018-02-01 18:31:30
当你使用Kotlin时,Realm会检查你的字段的可空性。
例如,
class Blah: RealmObject() {
var group: Group? = null
}那么group就得不到隐式的@Required注释。
但如果你这样做了
class Blah: RealmObject() {
var group: Group = Group()
}这是行不通的,因为Realm不能保证单个链接的非空性。所以它会抛出你得到的错误。
如果您想忽略这一点,例如,您正在创建一个避免空值返回的后备字段
get() = group ?: Group()然后您可以使用(从4.1.0开始):
kapt {
arguments {
arg("realm.ignoreKotlinNullability", true)
}
}在这种情况下,Realm不会尝试隐式地处理您的可空性(并将Kotlin可空性映射到字段的@Required)。但是只有当你真正知道你在做什么的时候,你才应该使用它。
https://stackoverflow.com/questions/48554699
复制相似问题