(Swift)如何正确展开可选值?验证后返回nil的Firebase uid
我是斯威夫特的新手,Firebase UID有问题(Swift)如何正确展开可选值?验证后返回nil的Firebase uid,swift,firebase,uid,Swift,Firebase,Uid,我是斯威夫特的新手,Firebase UID有问题 usersReference.child("users").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in print(snapshot) if snapshot.hasChild((FIRAuth.auth()?.currentUser!.uid)!) {
usersReference.child("users").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
print(snapshot)
if snapshot.hasChild((FIRAuth.auth()?.currentUser!.uid)!)
{
print("This user already exist")
//code
}
致命错误:在展开可选值时意外发现nil
请告知,如何正确地打开它?或者其他什么?您正在展开两个可能为零的值,而没有首先检查它们是否为零
FIRAuth.auth()?.currentUser代码>
(FIRAuth.auth()?.currentUser!.uid)代码>
if FIRAuth.auth()?.currentUser == nil {
print("no user logged in")
} else if FIRAuth.auth()?.currentUser!.uid == null {
print("no user id value")
} else if snapshot.hasChild((FIRAuth.auth()?.currentUser!.uid)!) {
print("This user already exist")
} else {
// code to handle new user
}
(FIRAuth.auth()?.currentUser!.uid)如果您创建了新用户或登录了现有用户,则代码>将不会为零。谢谢,这对我很有帮助。