首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS Firebase Snapshot.value

iOS Firebase Snapshot.value
EN

Stack Overflow用户
提问于 2019-02-15 21:10:43
回答 2查看 472关注 0票数 0

我正在尝试将我的数据从防火墙打印到Xcode中。但是,我永远无法将snapshot.value打印到我的标签上(命名为“极性”)。这是我的代码:

代码语言:javascript
复制
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不能工作?它应该把我的数据打印到标签上,但它永远不会出现。帮帮忙,谢谢。

我的防火墙数据库中的数据

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-16 03:08:48

您可以尝试以下代码:

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

您应该注意到,"Total gallons"在末尾没有":“。ionic是一个字典字符串: Double,而不是text。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2019-02-15 21:57:14

首先,您需要将快照转换为字典

你可以这样做:

代码语言:javascript
复制
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 =离子

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54717106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档