【问题标题】:swift cant create a child in firebase databaseswift不能在firebase数据库中创建一个孩子
【发布时间】:2019-06-24 02:59:49
【问题描述】:

我正在尝试使用 Swift 在一个空的 firebase 数据库中创建一个孩子,代码运行没有任何错误,但我没有看到数据库中的更改。 代码:

let ref = Database.database().reference()
ref.child("Branches")

【问题讨论】:

  • 您没有在数据库 ref 中设置任何值
  • 我将代码更改为: let ref = Database.database().reference().child("Branches") let values = ["Email" : SEmailTextField.text] ref.updateChildValues(values as [AnyHashable : Any]) { (err, reference) in print(err ?? "non") } 但它不起作用
  • 文本属性不为空吗?您是否在项目中配置了 Firebase?它打印什么错误?
  • Error Domain=com.firebase Code=1 "Permission denied" UserInfo={NSLocalizedDescription=Permission denied} coface-2148b.firebaseio.com/Branches 这是错误
  • 如果您对此有疑问,应该将其作为另一个问题来处理,否则这个问题会变得一团糟。

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

您没有向数据库添加值。

在 Firebase 中,您在设置新值后立即创建其他子项。

您可以使用setValueupdateChildValues 添加值。

示例:

let ref = Database.database().reference().child("branches")

let values = ["any_key" : "any_value"]
ref.updateChildValues(values) { (err, reference) in
    // handle errors or anything related to completion block.
}

文档: https://firebase.google.com/docs/database/ios/read-and-write


注意:确保您已正确配置所有内容:https://firebase.google.com/docs/database/ios/start

【讨论】:

    【解决方案2】:

    这取决于你的数据库结构让假设你创建

    { 
          "users": {
            "uid": userID,
                "username": "string"
          }
    }
    

    这次数据然后你可以得到你在问题中提到的数据

    var ref: DatabaseReference!
    ref = Database.database().reference()
    self.ref.child("users").child(user.uid).setValue(["username": username])
    
    • 这可能是一些错误,但您必须了解概念,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 2020-03-30
      相关资源
      最近更新 更多