Eri*_*piz 4 java realm android-studio
当使用Android开发版本4.3.3时REALM,出现以下错误:
Error: Field "groupName" with type "pizware.evaluapp.Models.Group" can not be @Required or @NotNull.
但我不会在任何字段中使用任何这些标签。有人知道发生了什么吗?
当您使用Kotlin时,Realm会检查您字段上的可空性。
例如,
class Blah: RealmObject() {
var group: Group? = null
}
Run Code Online (Sandbox Code Playgroud)
然后group不会得到隐式@Required注释。
但是如果你这样做
class Blah: RealmObject() {
var group: Group = Group()
}
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为Realm无法保证单个链接的不可为空性。这样会抛出您得到的错误。
如果由于例如要创建一个避免返回空值的后备字段而忽略此设置
get() = group ?: Group()
Run Code Online (Sandbox Code Playgroud)
然后就可以使用(从4.1.0版本开始):
kapt {
arguments {
arg("realm.ignoreKotlinNullability", true)
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Realm不会尝试隐式处理您的可空性(并将Kotlin可空性映射到该字段的@Required)。但是,只有在真正知道自己在做什么的情况下,才应使用此功能。
| 归档时间: |
|
| 查看次数: |
1147 次 |
| 最近记录: |