2016-06-18 65 views
2

基本上我正在努力将路径复制到其他目标。我有一个目录以root /用户/ ID /信息,像这样:Swift/Firebase复制路径

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

不过,我要完成的任务,是要与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.") 
    } 
    } 

//发生错误时..尝试了其他几种方法以及..

+0

什么事件应该触发“复制”?你已经有了用户名和数据?任何代码向我们展示? – adolfosrs

+0

@adolfosrs我现在提供了更多的代码。触发器只是一个按钮(@UIButton)。 – askaale

+0

为什么要复制或移动所有数据?你可以创建一个参考吗? – Jay

回答

1

什么,你可能会寻找的是类似以下内容:

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

观察到,因为你想“复制”数据当UIButton被触发时,您应该使用FIRDataEventType.Value而不是FIRDataEventType.ChildAdded

+0

正是我需要的!非常感谢!为我节省了很多时间。 – askaale