2017-06-21 4 views
0

iPhoneのアドレス帳から電話番号&の名前をエクスポートしています。ここでSwiftを使ってFirebaseが自動的に値を更新する

はコードです:

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) 
      } 
     } 
    }) 

しかし、結果はそのように見ている:私はXcodeのシミュレータを停止するまでContactPhoneの値は、自動的にノンストップを変更しています。

enter image description here

は、誰かが私を助けることができる..何をする必要が単一辞書にnameDataphoneDataを組み合わせて、接触してこれを設定しているあなた

答えて

1

ありがとうございください。

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) 
+0

ありがとうございます!しかし、もし私が単一の辞書ではなく、個別にnameDataとphoneDataを使用すると可能ではないのですか? –

+0

@KUNWOOMYUNG次に、その 'childByAutoId'を参照する必要があります –

+0

クール、もう一度ありがとう! –

関連する問題