首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"ignoreKotlinNullability“实际上是做什么的?

"ignoreKotlinNullability“实际上是做什么的?
EN

Stack Overflow用户
提问于 2019-05-22 22:46:41
回答 1查看 95关注 0票数 0

在项目开发过程中的某一时刻,我在gradle中添加了自定义部分:

代码语言:javascript
复制
kapt {
    arguments {
        arg("realm.ignoreKotlinNullability", true)
    }
}

我记得这样做是为了防止在迁移过程中崩溃,并在网上查找证明这是它的主要用途。

但它实际上是做什么的呢?我在任何地方都找不到任何官方文件来证明和假设。我不确定我是否应该删除它,因为我不知道我是否应该将它视为一个功能或我很久以前应用的某种创可贴。

是否有RealmDB gradle标志和参数的官方列表?

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 23:01:49

当你使用Kotlin时,Realm会检查你的字段的可空性。

例如,

代码语言:javascript
复制
class Blah: RealmObject() {
    var group: Group? = null
}

那么group就得不到隐式的@Required注释。

但如果你这样做了

代码语言:javascript
复制
class Blah: RealmObject() {
    var group: Group = Group()
}

这是行不通的,因为Realm不能保证单个链接的非空性。所以它会抛出你得到的错误。

如果您想忽略这一点,例如,您正在创建一个避免空值返回的后备字段

代码语言:javascript
复制
kapt {
  arguments {
    arg("realm.ignoreKotlinNullability", true)
  }
}

在这种情况下,Realm不会尝试隐式地处理您的可空性(并将Kotlin可空性映射到字段的@Required)。但是只有当你真正知道你在做什么的时候,你才应该使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56259491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档