【问题标题】:The user uid error! (Swift and Firebase Project)用户uid错误! (Swift 和 Firebase 项目)
【发布时间】:2016-08-27 15:34:32
【问题描述】:

我正在使用 swift 和 firebase 开发 iOS 应用程序。

我有一个名为添加设备的视图,注册用户可以在其中添加设备。 只需输入设备名称、描述、类别并添加图像,然后单击添加设备按钮。

这是包含注册用户信息的当前仪表板:

{
"UserProfile" : {
"1EJ8QmEQBJfBez7PMADbftCjVff1" : {
  "city" : "الرياض",
  "email" : "noura@gmail.com",
  "name" : "Norah",
  "phone" : "0564695353"
},
"97PUAcUC5UYxLpBOLnC4yQjxiEf2" : {
  "city" : "Riyadh",
  "email" : "mawada2017@gmail.com",
  "name" : "Mawada",
  "phone" : "0534260282"
  }
 }
}

我想将设备信息添加到另一个节点。

这是按钮:

     @IBAction func AddDeviceButton(sender: AnyObject) {

    if DeviceName.text == "" || Description.text == "" || ImageView.image == nil {
        let alert = UIAlertController(title: "عذرًا", message:"يجب عليك تعبئة معلومات الجهاز كاملة", preferredStyle: .Alert)
        alert.addAction(UIAlertAction(title: "نعم", style: .Default) { _ in })
        self.presentViewController(alert, animated: true){}

    } else {


        let imageName = NSUUID().UUIDString
        let storageRef = FIRStorage.storage().reference().child("Devices_images").child("\(imageName).png")

        if let uploadData = UIImagePNGRepresentation(self.ImageView.image!) {

            storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in

                if error != nil {
                    print(error)
                 return
                }

                let profileImageUrl = metadata?.downloadURL()?.absoluteString

                 let DeviceInfo = [
                        "ImageUrl":profileImageUrl!,
                        "DeviceName":self.DeviceName.text!,
                        "Description":self.Description.text!,
                        "Category":self.itemSelected
                        ]

                    self.ref.child("Devices").child(user!.uid).setValue(DeviceInfo)

            })






}

}

在这一行:

  self.ref.child("Devices").child(user!.uid).setValue(DeviceInfo)

视图无法识别 uid!

为什么?

【问题讨论】:

  • 顺便说一句,您尝试制作设备节点的方式,我认为您最终只会用一个设备值替换前一个,这也不是在特定设备中,即Device1 节点。 ..
  • @ Dravidian 我知道,我认为这是两个问题合二为一,所以这就是你没有回答第二个问题的原因。我正在尝试找到一种方法来使它起作用。你能帮忙吗?
  • @Dravidian 还是不太清楚JSON的结构,感觉这是嵌套结构!
  • 发布另一个问题..关于嵌套结构,请阅读我对stackoverflow.com/a/38959498/6297658的评论

标签: ios swift xcode firebase firebase-realtime-database


【解决方案1】:

只需替换

self.ref.child("Devices").child(user!.uid).setValue(DeviceInfo)

self.ref.child("Devices").child(FIRAuth.auth()!.currentUser!.uid).setValue(DeviceInfo)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    相关资源
    最近更新 更多