2017-09-12 42 views
1

私のアプリがfirebaseで動作しているだけです。データを上書きするという小さな問題があります。データを上書きせずにfirebaseに書き込む。 Swift

アクション:

@IBAction func Gem(_ sender: UIButton) { 
    self.ref.child("users").child(Personnr.text!).setValue(["Fornavn": Fornavn.text!]) 

    self.ref.child("users").child(Personnr.text!).setValue(["Efternavn": Efternavn.text!]) 


} 

問題は、それを消去し、第二1を書き込み、それは最初のコマンドが書き込まれていることです。 Imはプログラミングに新しいので、おそらく単純なものです。

私は、ユーザーがデータを書き込んだ後にデータベースにアップロードするテキストフィールドを明確にしました。

@IBOutlet weak var Fornavn: UITextField! 

@IBOutlet weak var Efternavn: UITextField! 

@IBOutlet weak var Personnr: UITextField! 

@IBOutlet weak var Korekort: UITextField! 

上書きを避けるための手がかりはありますか?

+0

ます。https:// stackoverflow.com/a/45941497/7715250 –

答えて

2
あなたが何ができるかとてもきれい正常です

この

let data = ["Fornavn": Fornavn.text!,"Efternavn": Efternavn.text!] 

などの辞書を作成し、その後、これは何

self.ref.child("users").child(Personnr.text!).setValue(data) 

はそれが下の両方FornavnとEfternavnデータを格納することで行う 親ノードPersonnr.text

0

ノード名がPersonnr.textであるとします。

あなたはより多くの子ノードを追加するか、このノード上の現在のデータを更新する場合は、ところで、あなたがして、クエリを最適化することができupdateChildValues機能

を使用することができます。

self.ref.child("users").child(Personnr.text!) .updateChildValues(["Fornavn": Fornavn.text!],["Efternavn": Efternavn.text!])

関連する問題