代码之家  ›  专栏  ›  技术社区  ›  Anvil

将数据从firebase附加到数组[重复]

  •  0
  • Anvil  · 技术社区  · 8 年前

    这个问题已经有了答案:

    我有这些数组要在TableView中显示:

    private var firOrder = [String]()
    private var firDate = [Int]() 
    

    我尝试这样获取和附加数据:

    override func viewDidLoad() {
        ref = Database.database().reference() ref?.child("users").child(user).child("Orders").observe(.value, with: { (snapshot) in
            let values = snapshot.value as? [String: AnyObject]
            let order = values!["Order"] as! String
            let date = values!["Date"] as! Int
            print("order \(order)") //This prints correctly
            print("date \(date)")  //This prints correctly
    
            self.firOrder.append(order)   
            self.firDate.append(date)
        })
    
        print(firOrder) //This prints empty and does not append to array.   
        print(firDate) //This prints empty and does not append to array
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Shehata Gamal    8 年前

    因为调用是异步的,所以需要在数据返回的回调中重新加载表。

    self.firOrder.append(order)   
    self.firDate.append(date)
    self.tableView.reloadData()