我正在尝试将我的数据从防火墙打印到Xcode中。但是,我永远无法将snapshot.value打印到我的标签上(命名为“极性”)。这是我的代码:
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不能工作?它应该把我的数据打印到标签上,但它永远不会出现。帮帮忙,谢谢。
我的防火墙数据库中的数据

发布于 2019-02-16 03:08:48
您可以尝试以下代码:
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。
希望这能有所帮助。
发布于 2019-02-15 21:57:14
首先,您需要将快照转换为字典。
你可以这样做:
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 =离子
https://stackoverflow.com/questions/54717106
复制相似问题