gpt4 book ai didi

android - 为什么 LiveData 比 MutableLiveData 更好?

转载 作者:行者123 更新时间:2023-12-02 13:03:14 25 4
gpt4 key购买 nike

在许多样本中,我看到:

 class DataViewModel{
val data:LivaData<Int>
get() = _data

private val _data = MutableLiveData<Int>()

}

但更简单的看起来像这样:
 class DataViewModel{
val data = MutableLiveData<Int>()

}

那么,为什么需要这个包含 2 个字段的更复杂的代码构造呢?

最佳答案

这是一种旨在限制从类外部修改值的做法。
LiveData是只读的。MutableLiveData ,顾名思义,它允许更改它所持有的值。

如果你暴露一个 MutableLiveData直接,就像在您的第二个示例中一样,任何可以访问该 data 的代码字段也可以修改它持有的值。

暴露改变的能力data来自外部的内容DataViewModel类可能会使调试和推理 data 的位置变得更加困难的内容来自任何给定时间。

关于android - 为什么 LiveData 比 MutableLiveData 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54600660/

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