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



我有视图模型,我在封装中使用实时数据,建议使用哪一种,为什么?

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() =将返回最新实例,等于方法=将返回初始实例。

同样,Kotlin内部为你拥有的每个属性构建了一个getter,所以如果你选择equals方法=的唯一目的是减少生产中的代码,它将没有任何意义。

我认为在ViewModel中直接使用对象是推荐的方法。

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

因为,我在我的一些项目中使用这种方法

这只是封装不可变的可变LiveData。在UI中,你应该使用ViewModel中已经准备好的数据,以避免直接从UI修改它。

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

相关内容

  • 没有找到相关文章

最新更新