我无法从 firebase 数据库中获取数据作为子类对象

I can't get the data from firebase database as a subclass object

我的firebase数据如下:

Matches
items
  platinium
  standard
   -LQTnujHvgKsnW03Qa5s
      code: "111"
      date: "27/11/2018"
      predictions
              -0
                prediction: "Maç Sonucu 1"
                predictionRatio: "2"
      startTime: "01:01"

我用下面的代码阅读了这篇文章

databaseHandle = ref.observe(.childAdded, with: { (snapshot) in
        if let matchDict = snapshot.value as? Dictionary<String, AnyObject> {
            let m_key = snapshot.key
            let m = Match(matchKey: m_key, matchData: matchDict)
            self.matches.append(m)
        }
        self.matchesTableView.reloadData()
    })

我有两个数据模型 1 是匹配 2 是预测

我可以从数据库中读取代码、日期和开始时间,但是没有匹配对象预测数据,它说它为 nil,我如何使用匹配对象获取该数据?

您可以按如下方式设置模型class

class ListModel: NSObject {
var UID:String?
    var Code:String?
    var Date:String?
    var PredictionsArr:[PredictionsObj]?
    var StartTime:String?
}

class PredictionsObj : NSObject {
    var Prediction : String?
    var PredictionRatio : String?
}

在你的ViewController中你可以添加下面的代码

    var ListArr = [ListModel]()

        let ref = Database.database().reference().child("Matches").child(“items”).child(“standard”)
        ref.observe(.childAdded, with: { (snapshot) in
            print(snapshot)
            guard let dictionary = snapshot.value as? [String : AnyObject] else {
                return
            }

            let Obj = ListModel()
            Obj.UID = snapshot.key
            Obj.Code = dictionary["code"] as? String
            Obj.Date = dictionary["date"] as? String
            Obj.StartTime = dictionary["startTime"] as? String

            let myPredictionsArr  = dictionary["predictions"] as? NSArray
            var myPredictionsObj = [PredictionsObj]()
            if myPredictionsArr != nil{
                for dict in myPredictionsArr as! [[String: AnyObject]]  {
                    let detail = PredictionsObj()
                    detail.Prediction = dict["prediction"] as? String
                    detail.PredictionRatio = dict["predictionRatio"] as? String
                    myPredictionsObj.append(detail)
                }
            }
            Obj.PredictionsArr = myPredictionsObj

            self.ListArr.append(Obj)
            self.ListTV.delegate = self
            self.ListTV.dataSource = self
            self.ListTV.reloadData()
        }, withCancel: nil)