2016-06-18 11 views
2

基本的に私は他の目的地へのパスをコピーするのに苦労しています。Swift/Firebaseコピーパス

users{ 
    id{ 
    username:Andreas 
    dob:12/12/2012 
    hobby:football 
    } 
} 

しかし、私が達成したいものを、IDとパスを移動することです(つまり、アンドレアスに関するすべての情報が含まれ、別の:私はこのように、ルート/ユーザー/ ID /情報のディレクトリを持っていますパス(root/HighestRanking/)ので、それは次のようになります。?(root/HighestRanking/andreasUID/info)が、私はそうする方法を見つけるように見えることはできません任意のアイデア事前に

おかげで...ここで

は、私が現在持っているコードです。

ref.child("Users").child(uid).observeEventType(FIRDataEventType.ChildAdded) { (snap:FIRDataSnapshot) in 
    var pathway = snap 
    self.ref.child("HighestRanking").child(uid)..setValue([pathway], withCompletionBlock: { (error, ref) in        
    if error != nil { 
     print("An error occured.") 
    } else { 
     print("Success.") 
    } 
    } 
あなたが「コピー」したいので、

ref.child("Users").child(uid).observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in 
    if let data = snapshot.value as! [String : AnyObject] { 
    self.ref.child("HighestRanking").child(uid).setValue(data) 
    } 
}) 

のことを守ってください。

//エラーが何を探しているかもしれないが、以下のようなものです。..だけでなく

+0

「コピー」をトリガーするイベントはありますか?あなたはすでにユーザーIDとデータを持っていますか?私たちに見せたいコードはありますか? – adolfosrs

+0

@adolfosrs私はもう少しコードを提供しました。トリガーは単にボタン(@UIButton)になります。 – askaale

+0

そのデータをすべてコピーまたは移動するのはなぜですか?あなたはそれへの参照を作成できますか? – Jay

答えて

1

をいくつかの他の方法を試してみました。..起こりますUIButtonがトリガーされたときのデータは、FIRDataEventType.ChildAddedの代わりにFIRDataEventType.Valueを使用する必要があります。

+0

まさに私が必要なもの!どうもありがとうございます!たくさんの時間を節約できました。 – askaale