android - 将 LiveData 对象作为 ViewModel 的参数公开还是由成员函数调用返回更好?
问题描述
通常在 ViewModel 中使用 MutableLiveData,然后 ViewModel 只向观察者公开不可变的 LiveData 对象。 https://developer.android.com/topic/libraries/architecture/livedata#update_livedata_objects
将 LiveData 对象作为 ViewModel 对象的参数公开是否更好:
val data: LiveData<String>
get() = _data
或者更确切地说,通过调用成员函数返回它:
fun getData(): LiveData<String> {
return _data
}
所以在第一种情况下我可以写
println(viewModel.data)
而在后者
println(viewModel.getData())
解决方案
在内部,两者基本相同。但正如@tyczj 所说,第一种形式更惯用。所以,我更喜欢第一个。
推荐阅读
- apache-spark - spark-submit 从 kubernetes pod 到在 yarn 中运行 spark 的 MAPR 集群
- vagrant - Metasploit:使用打包程序构建 vagrant box 时出错
- java - 进一步优化交换
- flutter - Flutter Firestore 按产品名称即时搜索
- java - 如何让 java 只接受数字 1-5 的用户输入?
- python - AttributeError:模块“mnist”没有属性“train_images”
- rust - std::task::Context 中使用的标记字段(PhatomData)是什么?
- react-native - React 钩子/生命周期导航 React-native
- apache - .htaccess https、www 和子域静默重写
- python-3.x - 井字游戏模式有问题?