Swift Firebase получить данные - PullRequest
       5

Swift Firebase получить данные

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

Как я могу получить name, quant из этой структуры:

enter image description here

Я попробую это:

var handle: DatabaseHandle?
var ref: DatabaseReference?

override func viewDidLoad() {
    super.viewDidLoad()
     ref = Database.database().reference()
     handle = ref?.child("Цитаты").child("Из Книг").child("Дорогой звезд").child("Quote1").observe(.childAdded, with: { (snapshot) in
     let user = snapshot.value
        print(user!) //text from name + 10 + Quote1
    }

Когда янапечатайте snapshot.value, это даст мне данные от Quote1, но я хочу показать имя в textField и квант в метке, я пытаюсь это:

ref = Database.database().reference()
handle = ref?.child("Цитаты").child("Из Книг").child("Дорогой звезд").child("Quote1").observe(.childAdded, with: { (snapshot) in
let user = snapshot.value
if let us = user!["name"] as? String {
  if let quant = user!["quant"] as? String{
    self.quoteTextField.text = us
    self.quotelabel.text = quant
  }
}

И есть ошибка.Как мне добавить данные из snapshot.value в label и textField?

Ответы [ 2 ]

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

Вам необходимо разыграть snapshot.value в качестве словаря -

let user = snapshot.value as? NSDictionary

Вы также должны рассмотреть возможность безопасного развертывания своих опций -

let name = user?["name"] as? String ?? ""
let quant = user?["quant"] as? Int ?? 0
0 голосов
/ 13 сентября 2018

Когда я проверял ваш экран, Quant - это Int, а не String, поэтому попробуйте это

ref = Database.database().reference()
handle = ref?.child("Цитаты").child("Из Книг").child("Дорогой звезд").child("Quote1").observe(.childAdded, with: { (snapshot) in
       //let username = snapshot.value as? NSDictionary
       let user = snapshot.value as? [String: Any]
       if let us = user!["name"] as? String {
            if let quant = user!["quant"] as? Int {
                 self.quoteTextField.text = us
                 self.quotelabel.text = quant.description
         }
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...