Firebase使用Swift

时间:2017-06-21 10:24:15

标签: ios swift firebase firebase-realtime-database

我正在做的是导出电话号码&来自iPhone地址簿的所有者姓名。

以下是代码:

dbRef = Database.database().reference()


let nameData  = ["contactName": contact.name ]
let phoneData = ["contactPhone": contact.phone]


self.dbRef.child("user/contacts").childByAutoId().setValue(nameData)

self.dbRef.child("user/contacts").observe(.value, with: { (snapshot) in

     if let result = snapshot.children.allObjects as? [DataSnapshot] {

            for child in result {

                let orderID = child.key
                self.dbRef.child("user/contacts").child(orderID).updateChildValues(phoneData)
            }
        }
     })

但结果看起来是这样的:ContactPhone的值会自动改变,直到我停止xCode模拟器为止。

enter image description here

请有人帮帮我,谢谢你

1 个答案:

答案 0 :(得分:2)

您需要做的是将nameDataphoneData合并到单个字典中并将其设置为联系。

dbRef = Database.database().reference()
let data  = ["contactName": contact.name, "contactPhone": contact.phone ]
self.dbRef.child("user/contacts").childByAutoId().setValue(data)

旁注:删除此观察代码并放在viewDidLoad

等其他位置

修改:如果您想单独设置,则需要获取childByAutoId的参考。

dbRef = Database.database().reference().child("user/contacts").childByAutoId()
let nameData  = ["contactName": contact.name ]
let phoneData = ["contactPhone": contact.phone]
self.dbRef.setValue(nameData)
self.dbRef.updateChildValues(phoneData)