hra*_*ach 8 android kotlin android-livedata android-architecture-components
来自体系结构组件的LiveData为接收器回调定义了一个具有可为空值的Observer:
public interface Observer<T> {
/**
* Called when the data is changed.
* @param t The new data
*/
void onChanged(@Nullable T t);
}
Run Code Online (Sandbox Code Playgroud)
为什么有明确可以为空的注释?
该文件LiveData.observe()还说:
如果LiveData已经有数据集,它将被传递给观察者.
例如,Observer等待不可为空的更新或立即接收以前的非可空值,特别是在Kotlin中,直到我定义T为可为空.
代码似乎就是这样工作的.我理解为什么这不适用LiveData.getValue(),可以在第一个数据传递之前手动调用(因此检查mData != NOT_SET返回null).
所以第二个问题是:当T不可为空时,可以安全地假设Kotlin中的值是非空的吗?
| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |