2017-04-04 49 views
0

這不是一個問題,nessacarily有一個'解決方案',但我想知道如果這個代碼會導致內存問題,當縮放更大。檢查孩子是否導致可擴展性差?

 ref.child("Teams").observeSingleEvent(of: .value, with: { (snapshot) in 
      if snapshot.hasChild(self.teamName.text!){ 
       //Sets the a single team's values 
      } else { 
       //Displays a missing team alert 
       let alert = UIAlertController(title: "Error" , message: "Team does not exist", preferredStyle: .alert) 
       let actio1n = UIAlertAction(title: "Ok" , style: .cancel , handler: nil) 
       alert.addAction(actio1n) 
       self.present(alert, animated: true, completion: nil) 
      } 
     }) 

我有點想知道,如果火力地堡只會加載表面水平(每個人團隊的ID),或者是否會加載更多的深入。你怎麼看?

回答

3

Firebase將獲取Teams下的FULL樹。更多細節here

[...]當你在你的數據庫的位置讀取數據,還檢索所有子節點的[...]

0

由於米哈伊說:觀察一個節點將檢索整個節點。

要檢查特定的子節點存在,只觀察這個孩子節點:

ref.child("Teams").child(self.teamName.text!).observeSingleEvent(of: .value, with: { (snapshot) in 
    if snapshot.exists(){ 
     ... 
    } 
})