(Swift) 如何正确解包可选值?身份验证后 Firebase uid 返回 nil
(Swift) How unwrap the optional value properly? Firebase uid returning nil after authentication
我是 Swift 的新手,遇到 Firebase 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
请指教,如何正确解包?还是别的?
您在展开两个可能为 nil 的值时没有首先检查它们是否为 nil
FIRAuth.auth()?.currentUser!
currentUser属性returns"The currently signed-in user (or null)."
(FIRAuth.auth()?.currentUser!.uid)!
要检查第一次或第二次解包是否导致了致命错误:解包可选值时意外发现 nil,重组您的if 语句如下:
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
}
我是 Swift 的新手,遇到 Firebase 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
请指教,如何正确解包?还是别的?
您在展开两个可能为 nil 的值时没有首先检查它们是否为 nil
FIRAuth.auth()?.currentUser!
currentUser属性returns"The currently signed-in user (or null)."
(FIRAuth.auth()?.currentUser!.uid)!
要检查第一次或第二次解包是否导致了致命错误:解包可选值时意外发现 nil,重组您的if 语句如下:
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
}