iOS Firebase Snapshot.value - PullRequest
       4

iOS Firebase Snapshot.value

0 голосов
/ 16 февраля 2019

Я пытаюсь распечатать свои данные из базы FireBase в XCode.Тем не менее, я никогда не смогу распечатать snapshot.value на своей этикетке (названной как «polar»).Вот мой код:

import UIKit
import FirebaseDatabase

class ViewController: UIViewController {


@IBOutlet var polar: UILabel!
var ref:DatabaseReference?
var databaseHandle:DatabaseHandle?
var postData = [String]()

override func viewDidLoad() {
    super.viewDidLoad()


    let ref = Database.database().reference()

    ref.child("Total gallons:").observe(.childAdded, with: { (snapshot) in

        let ionic = snapshot.value as? String
        self.polar.text = ionic

Почему не работает мой self.polar.text?Он должен напечатать мои данные на этикетке, но он никогда не обнаруживается.Пожалуйста, помогите, спасибо.

Данные в моей базе данных Firebase

Click here to see my data in my firebase database

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Вы можете попробовать этот код:

ref.child("Total gallons").observe(.childAdded, with: { (snapshot) in
    if let ionic = snapshot.value as? [String: Double] {
        self.polar.text = ionic
    }
})

Вы должны заметить, что "Total gallons" не имеет ":" в конце.И ionic - это словарь [String: Double], а не текст.

Надеюсь, это поможет.

0 голосов
/ 16 февраля 2019

Вам нужно сначала сделать снимок как Словарь .

Вы можете сделать:

guard let ionic = snapshot.value as? [String: Double] else { return }
print(ionic) // This will print snapshot. 
//You still need to add logic here to parse values from dictionary.

DispatchQueue.main.async {
     // Update UI elements here
}

self.polar.text = ionic

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