gpt4 book ai didi

android - Android ViewModel 中的 Kotlin 支持属性

转载 作者:行者123 更新时间:2023-12-04 07:31:43 25 4
gpt4 key购买 nike

只是想知道,为什么使用 MutableLiveData 的支持属性更好,而不是仅仅公开将 MutableLiveData 属性作为实时数据返回的 getter 函数。例如:
为什么这个代码

private val _registeredDevicesObservable: MediatorLiveData<List<Data>> = MediatorLiveData()
val registeredDevicesObservable: LiveData<List<Data>> = _registeredDevicesObservable
比这个更好或更容易接受
private val _registeredDevicesObservable: MediatorLiveData<List<Data>> = MediatorLiveData()
fun registeredDevicesObservable(): LiveData<List<Data>> = _registeredDevicesObservable
同样,当这个 getter 函数保持 LiveData 不变性并让我在访问 View 模型中的属性时不会遇到那种烦人的下划线语法。

最佳答案

在语言中使用简单地返回一个已经可用的对象的函数只是不太习惯。您可以随意按照自己喜欢的方式进行操作,但如果其他人必须使用您的代码,那么如果您遵循一般约定,就会更容易理解和使用。
关于支持属性是否应在名称中包含前导下划线并没有那么严格的约定,因此如果您不喜欢它,请不要使用它。
坚持这些约定的一个原因是有一个 proposed upcoming language feature允许您在没有支持属性的情况下执行此操作,因此如果您遵循约定,更新代码以消除支持属性将非常容易。

关于android - Android ViewModel 中的 Kotlin 支持属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67901855/

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