Как прочитать имя родительского узла, не получая значение из firebase для ios? - PullRequest
0 голосов
/ 07 мая 2018

Я хочу прочитать restaurant имена Burger King, Eating Point, используя swift.

Как это может быть возможно, может кто-нибудь помочь мне, пожалуйста, это для моего окончательного проекта необходимо представить через 1 неделю, пожалуйста, я теряю надежду с этим

enter image description here

 ref = Database.database().reference()

    ref?.child("Restaurants").observe(.childAdded, with: { (snapshot) in
        let rest = snapshot.value as? String
        if let actualPost = rest {


            self.restList.append(actualPost)

            print("list of rest ", self.restList)


            self.restTableView.reloadData()
        }
    })

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Чтобы получить только названия ресторанов, используйте код ниже.

dbReference = Database.database().reference()
dbReference?.child("Restaurants").observeSingleEvent(of: .value, with: {(snapshot) in
for rest in snapshot.children.allObjects as! [DataSnapshot] {
            print("Restaurant Name:\(rest.key)")
        }

})

И для передачи всех данных с помощью StoryboardId используйте код ниже.

dbReference = Database.database().reference()
dbReference?.child("Restaurants").observeSingleEvent(of: .value, with: {(snapshot) in
for rest in snapshot.children.allObjects as! [DataSnapshot] {
            print("Restaurant Data:\(rest)")

        }

})

Поместите это в свой И объявите переменную данных в destinationController, как показано ниже:

var data = [DataSnapshot]()

Вы должны выполнить переход от didselectRow. Вот так.

performSegue(withIdentifier: "segue", sender: self)

И вы можете передать данные выбранного элемента из функции ниже.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let index = CategorytableView.indexPathForSelectedRow
let indexNumber = index?.row
print(indexNumber!)
let VC = segue.destination as! DestinationVC
VC.data = [rest] . //You can pass here entire data of selected row.

}
0 голосов
/ 07 мая 2018

Просто используйте код ниже, чтобы получить имя родительского узла.

 ref = Database.database().reference()

 ref?.child("Restaurants").observe(.childAdded, with: { (snapshot) in
    let rest = snapshot.value as? String
// snapshot.key is give you parent node name
        print(snapshot.key)
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...