gpt4 book ai didi

android - “ignoreKotlinNullability”实际做什么?

转载 作者:行者123 更新时间:2023-12-03 05:07:05 24 4
gpt4 key购买 nike

在项目开发的某一时刻,我将自此部分添加到了gradle中:

kapt {
arguments {
arg("realm.ignoreKotlinNullability", true)
}
}

我记得这样做是为了防止迁移期间发生崩溃,并且在线查找它证明了它是主要用途。

但是它实际上是做什么的呢?我找不到任何官方文档可以证明和假设。我不确定是否应该删除它,因为我不知道我是否应该将其视为功能或某种我早已应用的创可贴。

是否在任何地方都有RealmDB gradle标志和参数的正式列表?

最佳答案

当您使用Kotlin时,Realm会检查您的字段是否为空。

例如,

class Blah: RealmObject() {
var group: Group? = null
}

然后,组不会获得隐式@Required注释。

但是如果你这样做
class Blah: RealmObject() {
var group: Group = Group()
}

这是行不通的,因为Realm无法保证单个链接的不可为空性。这样会抛出您得到的错误。

如果由于例如您要创建一个避免返回空值的后备字段而忽略此设置
kapt {
arguments {
arg("realm.ignoreKotlinNullability", true)
}
}

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

关于android - “ignoreKotlinNullability”实际做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56259491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com