1
起作用我需要這個陣列夫特通過陣列與返回
self.values.append(value)
爲了追加與值另一個陣列從上面的陣列^。幾乎我需要傳遞一個數組到另一個函數的附加值。
func updateChartValues() -> (LineChartDataSet) {
self.recieveChartValues()
var entries: [ChartDataEntry] = Array()
for i in 0 ..< values.count {
entries.append(ChartDataEntry(x: Double(i), y: Double(values[i]), data: UIImage(named: "icon", in: Bundle(for: self.classForCoder), compatibleWith: nil)))
如何獲取從recieveChartValues()附加到updateChartValues的這些值?主要困惑是因爲它們是從Firebase追加的。
func recieveChartValues() {
//Firebase Initialization
var ref: FIRDatabaseReference!
ref = FIRDatabase.database().reference()
ref.child("general_room_index").observeSingleEvent(of: .value, with: {(snap) in
print("error3")
if let snaps = snap.value as? [Any]{
for val in snaps {
if let value = val as? Int{
self.values.append(value)
//print(self.values)
}
}
}
})
}//retrive values func
func updateChartValues() -> (LineChartDataSet) {
self.recieveChartValues()
var entries: [ChartDataEntry] = Array()
for i in 0 ..< values.count {
entries.append(ChartDataEntry(x: Double(i), y: Double(values[i]), data: UIImage(named: "icon", in: Bundle(for: self.classForCoder), compatibleWith: nil)))
print("Enetrie ", entries)
}
self.dataSet = LineChartDataSet(values: entries, label: "Bullish vs. Bearish")
self.dataSet.mode = LineChartDataSet.Mode.cubicBezier
return dataSet
}
由於Firebase任務將異步完成,因此您需要將閉包傳遞給'recieveChartValues'並從Firebase完成關閉中調用該閉包。 – Paulw11
您能否告訴我一個示例如何做到這一點 – codechicksrock
我有點理解完成和關閉Im只是不知道如何實現他們與這兩個功能,我需要一個例子le完全瞭解 – codechicksrock