Я получаю данные из Firebase, а затем храню их в массивах.Затем я пытаюсь использовать эти массивы с библиотекой iOS Charts.Однако я получаю следующие ошибки:
Невозможно присвоить значение типа 'charts2Model' для типа 'Double' Невозможно присвоить значение типа 'chartsModel' для типа 'String?'
Две функциикак показано ниже:
// Мои модели следующие:
class chartsModel {
var FullName: String?
init(FullName: String?){
self.FullName = FullName
}
}
// и:
class charts2Model {
var Opened: Double?
init(Opened: Double?){
self.Opened = Opened
}
}
// Я объявил массивы следующим образом:
var chartArray = [chartsModel]()
var chartArray2 = [charts2Model]()
// Первая функция получает данные из Firebase и сохраняет значения в соответствующих им массивах.
func chartDataFromFB(){
databaseReference = Database.database().reference()
let refChallenges = Database.database().reference(withPath: "Users")
refChallenges.observeSingleEvent(of: .value, with: { (snapshot) in
//if the reference have some values
if snapshot.childrenCount > 0 {
chartArray.removeAll()
//iterating through all the values
for Challenges in snapshot.children.allObjects as! [DataSnapshot] {
//getting values
let challengeObject = Challenges.value as? [String: AnyObject]
let FirstName = challengeObject?["FirstName"]
let Opened = challengeObject?["Opened"]
let chartsObject = chartsModel(FullName: FirstName as! String?)
chartArray.append(chartsObject)
let chartsObject2 = charts2Model(Opened: Opened as! Double?)
chartArray2.append(chartsObject2)
}
}
})
}
// Вторая функция является частичной, и что я 'Я пытаюсь использовать для создания круговой диаграммы:
func makeChart(){
let chart = PieChartView(frame: self.view.frame)
var entries = [PieChartDataEntry]()
for (index, value) in chartArray2.enumerated() {
let entry = PieChartDataEntry()
entry.y = value
entry.label = chartArray[index]
entries.append( entry)
}
}
Я получаю ошибки в следующих строках:
entry.y = value
entry.label = chartArray[index]
Я надеюсь, что смогу избавиться от двухошибки и заставить мой график работать.Заранее спасибо.