想要将所有Firebase数据显示到图表中

时间:2019-05-20 06:23:14

标签: swift firebase-realtime-database charts

我想将所有Firebase数据显示在折线图中。但它仅显示数据库中的一个数据。我不明白问题出在哪里?我是新来的,所以如果有人可以帮忙,那将非常棒。

class WTGraphVC: UIViewController {

    @IBOutlet weak var lineChartsView: LineChartView!
    var ref = DatabaseReference.init()
    var currentUser = Auth.auth().currentUser!.uid
    var arrData = [WeightChatModel]()

    var xValues = [String]()
    override func viewDidLoad() {
        super.viewDidLoad()
        self.ref = Database.database().reference()

        lineChartsView.leftAxis.drawGridLinesEnabled = false
        lineChartsView.rightAxis.drawGridLinesEnabled = false
        lineChartsView.xAxis.drawGridLinesEnabled = false
        lineChartsView.drawGridBackgroundEnabled = false

    }


 let ref = Database.database().reference().child("WeightTracker")

 ref.child("\(currentUser)").queryOrderedByKey().observeSingleEvent(of: .value) { (snapshot) in
  for rest in snapshot.children.allObjects as! [DataSnapshot] {

   guard let restDict = rest.value as? [String: Any] else { continue }

                let weight = restDict["weight"] as? String
                print(weight as Any)

                let date = restDict["date"] as? String
                print(date as Any)

                var xAxisValues = [""]
                var yAxisValues = [0.0]

                xAxisValues.append(date!)

                yAxisValues.append((weight! as NSString).doubleValue)

let formatter = WTRandomVC(lineChart: self.lineChartsView, xArray: xAxisValues , yArray: yAxisValues)

    self.lineChartsView?.data?.setValueFormatter(formatter)

                 }
            }
       }

0 个答案:

没有答案