从Firebase数据库填充图表

时间:2018-07-10 01:04:00

标签: swift firebase firebase-realtime-database charts

我整日忙于工作,我试图在我的应用程序上实现一个图表,该图表必须从我的Firebase数据库中收集一些数据才能使用它们来填充图表。 我尝试使用以下代码从数据库中获取数据:

let userID = Auth.auth().currentUser?.uid
        let bslChecksDB = Database.database().reference().child("BSL Checks").child(userID!)
        bslChecksDB.observe((.childAdded)) { (snapshot) in
            print(snapshot)
            let snapshotValue = snapshot.value as! [String : [String: String]]
            print(snapshotValue)
            self.arrayOfDic = Array(snapshotValue.values)

        for i in 0...self.arrayOfDic.count - 1 {
            self.snapshotDictionary = self.arrayOfDic[i]
            let date = self.snapshotDictionary["Date"]!
            let time = self.snapshotDictionary["Time"]!
            let bsl = Double(self.snapshotDictionary["BSL"]!)
            let unit = self.snapshotDictionary["Unit"]!
            let dateTime = "\(date) at: \(time)"

            self.dateTimeArray.append(dateTime)
            self.bslDataArray.append(bsl!)
            self.uuuuDataArray.append(unit)

        }

我尝试打印各种数组以查看它们是否已制成,所以没有问题(我认为)。然后,当我继续在图表上上传这些数据时,它们便消失了……。好像我的阵列一经制作就被清除了!怎么了?

for i in 0...self.dateTimeArray.count - 1 {
                ChartFormatter().array.append(self.dateTimeArray[i])

        }
        print("array")
        print(ChartFormatter().array)

    }

    var lineChartEntry = [ChartDataEntry] ()

    print(dateTimeArray.count)
    for i in 0...dateTimeArray.count - 1 {
        let value = ChartDataEntry(x: Double(i), y: bslDataArray[i])
        lineChartEntry.append(value)
    }


    let line1 = LineChartDataSet(values: lineChartEntry, label: "BSL")
    line1.colors = [NSUIColor.blue]
    let data = LineChartData ()
    data.addDataSet(line1)
    chtChart.data = data
    chtChart.chartDescription?.text = "My graph"

由于这是我第一次在我的应用程序上实现图表,因此请您说明一下如何使用Firebase数据库中的数据填充图表?谢谢

0 个答案:

没有答案