Быстрое получение данных Firebase - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь получить строковый ключ, который я сохранил в объекте

enter image description here

  func retrieveData() {
    let refAll = Database.database().reference().child("Playground")
    refAll.observe(.value) { (snapshot) in
        if let snapshotValue = snapshot.value as? [String:Any] {
            var playgroundSnapshot = snapshotValue
            let playgroundKeys = Array(playgroundSnapshot.keys)
            self.playgroundArray.removeAll()
            for key in playgroundKeys  {
                guard
                    let value = playgroundSnapshot[key] as? [String : Any]
                    else {
                        continue
                }
                let title = value["title"] as! String
                let city = value["city"] as! String
                let location = value["location"] as! String
                let price = value["price"] as! String

                let playground = Playground(title: title, price: price, location: location, city: city, availblePlayground: true)
                self.playgroundArray.append(playground)
            }
            self.tabeView.reloadData()
        }
    }
}

и в детской площадке есть ключдля каждого объекта

 keySelected = playgroundArray[indexPath.row].key

, но я не знаю, почему keySelected равно нулю, даже если на детской площадке Array есть объекты

1 Ответ

0 голосов
/ 28 сентября 2018

площадка Array не содержит «ключ».Вы должны установить Playground Struct. Добавить var key:String?, а также добавить это к init() func.

let playground = Playground(title: title, price: price, location: location, city: city, availblePlayground: true)

в

let playground = Playground(title: title, price: price, location: location, city: city, availblePlayground: true, key: key)


self.playgroundArray.append(playground)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...