Выберите выбранные данные из Firebase (Swift) - PullRequest
0 голосов
/ 18 октября 2018

enter image description here

Я хотел бы выбрать такие данные, как "2" и "123", как они появляются на фотографии.эти «2» и «123» в качестве идентификатора чипа, который я определил, как я хочу выбрать через базу данных Firebase.Поэтому вместо того, чтобы брать все данные в chipItem, я просто хочу получить определенные данные в базе данных firebase.

    ref.observe(.value, with: { (snapshot: DataSnapshot) in

        self.items.removeAll()

        for chipItem: DataSnapshot in snapshot.children.allObjects as! [DataSnapshot]{



            let chipId: String = chipItem.key


            let titles: DataSnapshot = chipItem.childSnapshot(forPath: "titles")




            for device in titles.children.allObjects as! [DataSnapshot]{

                print("Got device: ", device)

                let value: NSDictionary = device.value as! NSDictionary

                let deviceTitle: String = value["title"] as! String
                let deviceId: String = value["id"] as! String

                let deviceState: Bool = chipItem.childSnapshot(forPath: "states/\(deviceId)").value as! Bool

                let newDevice = Device()

                newDevice.title = deviceTitle
                newDevice.chipId = chipId
                newDevice.state = deviceState
                newDevice.id = deviceId

                self.items.append(newDevice)
            }

        }


        self.tableView.reloadData()




    }) { (err:Error) in

        print("got an error: ", err)
    }

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

`для chipItem: DataSnapshot в snapshot.children.allObjects как![DataSnapshot] {

let chipId: String = chipItem.key`

здесь мне нужно внести изменения, которые не работают так, как вы.«snapshot.children.allObjects» вместо allObjects мне нужно вызвать выбранные данные.

0 голосов
/ 18 октября 2018

Используйте queryEqualToValue ()

ref.queryEqual(toValue: "123").observeSingleEvent(of: .value) { (snapshot) in 
    ...
}

Также используйте наблюдайтеSingleEvent () или наблюдайте () в зависимости от того, что вам нужно

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