У меня есть класс модели с именем Coupon, и у него есть массив объектов с именем Array!Когда я создаю объект из класса Coupon, массив внутри этого объекта равен нулю и получает ошибку.Что я делаю не так?
class Coupon {
private var _date: String!
private var _editor: String!
private var _predictions: Array<Prediction>?
var date: String {
get {
return _date
}
}
var editor: String {
get {
return _editor
}
}
var predictions: Array<Prediction>? {
get {
return _predictions
}
set {
self._predictions = predictions
}
}
}
А контроллер выглядит следующим образом: c.predictions! [0] выдает ноль ошибок
let ref = DataService.ds.REF_COUPONS.queryOrdered(byChild: "date")
ref.observe(.childAdded, with: { (snapshot) in
if let couponDict = snapshot.value as? Dictionary<String, AnyObject> {
let c_key = snapshot.key
let c = Coupon(couponKey: c_key, couponData: couponDict)
let childSnapShot = snapshot.childSnapshot(forPath: "predictions")
if let snapshots = childSnapShot.children.allObjects as? [FIRDataSnapshot] {
for snap in snapshots{
let p_key = snap.key
let p = Prediction(predictionKey: p_key, predictionData: snap.value as! Dictionary<String, AnyObject>)
self.predictions.append(p)
c.predictions![0] = self.predictions[0] <--- ERROR LINE
}
}
self.coupons.append(c)
}
self.couponsTableView.reloadData()
})