在更新Firestore
库之后,我注意到QuerySnapshot?
可以为空。
我不知道快照何时可以为null,以及使用!!
运算符是否安全还是我需要处理null大小写。
即。使用此代码安全吗?
fireStoreRef
.addSnapshotListener(this) { snapshot: QuerySnapshot?, e: FirebaseFirestoreException? ->
if (e == null) {
snapshot!!.toObject()
}else{
// handle error
}
}
答案 0 :(得分:0)
仅当FirebaseFirestoreException
不为null时,QuerySnapshot才为null。
因此,如果您像文档中的示例一样检查错误是否为null,则可以使用!!
运算符。
从docs
onEvent将使用新值或错误(如果发生错误)进行调用 发生。 保证价值或错误中只有一个是 非空。