不能转换类型'[字符串:字符串?` `到预期参数类型'字符串'

2022-01-28 12:31:23 标签 iosswiftfirebase

我试图添加一些用户数据到我的firebase实时数据库,但当我尝试添加数据的子节点,我得到这个错误下面。我试图改变类型的userData变量为字符串,但没有改变。

错误:

Cannot convert value of type '[String : String?]' to expected argument type 'String'

我的代码:

private func firebaseAuthentication(withUser user: GIDGoogleUser) {
    
  if let authentication = user.authentication {
    
    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken, accessToken: authentication.accessToken)
    Auth.auth().signIn(with: credential) { (_, error) in
      if let error = error {
        print(error.localizedDescription)
      } else {
        
        // Add user data to real-time db if user does not already exists
        let userData = [
            "id" : Auth.auth().currentUser?.uid,
            "email" : Auth.auth().currentUser?.email,
            "name" : Auth.auth().currentUser?.displayName,
            "photoUrl": "none",
            "premium": "false"
        ]
        
                
        ref.observeSingleEvent(of: .value) { snapshot in
            
            if !snapshot.hasChild(Auth.auth().currentUser?.uid ?? "noid") {
                // user does not exist
                
                usersRef.child(Auth.auth().currentUser?.uid ?? "noid").child(userData) // here i'm getting the error
                
            }
            
        } withCancel: { error in
            
        }
        
        self.state = .signedIn
      }
    }
  }
}

# # #替换

.child(userData)

.setValue(userData)
阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码