android - 建议在 View 模型 android kotlin 的实时数据中使用 getter 或 equals

标签 android kotlin mvvm viewmodel android-livedata

我有 View 模型,并且在封装中使用实时数据,建议使用哪一个,为什么?

private val _licenseStatusFromWebService = MutableLiveData<String?>()
val licenseStatusFromWebService: LiveData<String?> = _licenseStatusFromWebService 

private val _licenseStatusFromWebService = MutableLiveData<String?>()
val licenseStatusFromWebService: LiveData<String?>
    get() = _licenseStatusFromWebService

最佳答案

只要您引用的 MutableLiveDataval 而不是 var,使用哪种方式都没有关系,但如果您要修改或重新分配 MutableLiveData 到其他内容,则 getter 方法 get() = 将返回最新实例,而 equals 方法 = > 将返回初始实例。

此外,Kotlin 在内部为您拥有的每个属性构建了一个 getter,因此如果您选择 equals 方法 = 的唯一目的是减少生产代码,那么它将毫无意义。

关于android - 建议在 View 模型 android kotlin 的实时数据中使用 getter 或 equals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75015856/

相关文章:

使用 URLConnection 时 android-stream 被关闭

android - 动态生成产品 flavor

java - IncompleteAnnotationException : dagger. 提供缺少的元素类型

gradle - Travis CI 构建失败 : Could not resolve org. jetbrains.kotlin :kotlin-gradle-plugin:1. 2.50

wpf mvvm 自定义控件 - 在控件上调用操作

c# - 将可观察集合绑定(bind)到上下文菜单

android - 如何检查 webview 是否无法加载页面(android)?

android - 是否可以在 Android 中使用 CXF webservice?

java - Android 从 Retrofit 调用获取 LiveData

c# - 由于ModelVIew中的嵌入式资源,WPF Xaml Designer的内存不足