Получение массива ключей из Firebase, «переменная, используемая в своем собственном значении» - PullRequest
0 голосов
/ 19 декабря 2018

Firebase structure

Попытка получить массив дочерних ключей из Firebase

func getWavePosts() {
    let wavePostRoot = Database.database().reference().child("waves_posts/\(self.waveLabel!)/")

    wavePostRoot.observe(.value , with: {snapshot in

        var tempKeys = [String]()
        for child in snapshot.children {
            let snap = child as! DataSnapshot
            let key = snap.key {
                 tempKeys.append(key as String)
            }
        }
        self.tempNames = tempKeys
})
}

Я сделал это для значений ранее, но не для ключей,добавленная строка - это та, которая помечена.Вставка строки под инициализацией ключа изменяет ошибку на «Общий параметр« Элемент »не может быть выведен».Любая помощь будет высоко ценится!

--------- редактировать без цикла for ---------

 let wavePostRoot = Database.database().reference().child("waves_posts/\(self.waveLabel!)/")

    wavePostRoot.observe(.value , with: {snapshot in

        var tempKeys = [String]()

        self.tempNames.append(snapshot.key)

1 Ответ

0 голосов
/ 19 декабря 2018

Вы хотите сделать необязательную привязку, но забыли ключевое слово if.Также я думаю, что вы хотите проверить, если snap.key имеет тип String

if let string = snap.key as? String {
    tempKeys.append(string)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...