我整日忙于工作,我试图在我的应用程序上实现一个图表,该图表必须从我的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数据库中的数据填充图表?谢谢