将LiveData对象公开为ViewModel的参数还是由成员函数调用返回更好吗?

时间:2019-03-01 21:15:36

标签: android mvvm viewmodel android-livedata mutablelivedata

  

通常在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())

1 个答案:

答案 0 :(得分:0)

在内部,两者基本相同。但是正如@tyczj所说,第一种形式更惯用。所以,我希望第一个。