Я пытаюсь получить кучу целочисленных значений из Firebase
, сохранить их в массив, а затем добавить все элементы.
Я пытался использовать
let sum:Int = challengeList.reduce(0, +)
, чтобы получить сумму элементов в массиве с именем challengeList, но я получаю ошибку "Неоднозначная ссылка на член '+'"
func LoadPointsCompleted() {
self.challengeList.removeAll()
databaseReference = Database.database().reference()
let userID = Auth.auth().currentUser?.uid
let refChallenges = Database.database().reference(withPath: "Challenges").child(userID!).queryOrdered(byChild: "Status").queryEqual(toValue: "Complete")
refChallenges.observeSingleEvent(of: .value, with: { (snapshot) in
//if the reference have some values
if snapshot.childrenCount > 0 {
//clearing the list
self.challengeList.removeAll()
//iterating through all the values
for Challenges in snapshot.children.allObjects as! [DataSnapshot] {
//getting values
let challengeObject = Challenges.value as? [String: AnyObject]
let Points = challengeObject?["Points"] as! Int
//creating challenge object with model and fetched values
let challenge = pointsModel(Points: Points as Int?)
//appending it to list
self.challengeList.append(challenge)
let sum:Int = challengeList.reduce(0, +)
}
}
}
)}
// также с использованием следующей модели
import Foundation
class pointsModel {
var Points: Int?
init(Points: Int?){
self.Points = Points
}
}
Я не могу заставить это скомпилировать ...