Как узнать, есть ли атрибут в таблице для пользователя? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть таблица Firebase, где мне нужно выяснить, существует ли атрибут в таблице для конкретного пользователя.Таблица структурирована так:

Users
-Lf9xUh53VeL4OLlwqQo 
   username: "my@test.com"
   price:    "$100"
   special:  "No"

-L12345ff322223345fd 
   username: "my2@test.com"
   special:  "No"

Мне нужно выяснить, была ли добавлена ​​«цена» для конкретного пользователя.Кажется, не могу понять это!

В быстром мне нужно что-то вроде:

        self.ref?.child("Users").queryOrdered(byChild: "username").queryEqual(toValue: username.text!).observe(.value, with: { (snapShot) in
        if (snapShot.value! is NSNull) {
            print("nothing found")
        } else {
            print("found it!")
            print(snapShot)

            let snapShotValue = snapShot.value as! [String:[String:Any]]
                Array(snapShotValue.values).forEach { // error here if it doesn't exist
                let price = $0["price"] as! String
                self.userPrice.text = price
            }}
        })

Но если цена не существует, я получаю ошибку.Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 07 июня 2019

Используйте as? вместо as!

if let price = $0["price"] as? String {
  print(price)
}
else {
   print("No price")
}

Или в скором времени

self.userPrice.text = ($0["price"] as? String) ?? "No price"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...