【发布时间】:2017-07-30 20:53:04
【问题描述】:
我正在尝试从我的 Firebase 数据库中读取一个值。然后我想将 UILabel 文本更改为数据库子值。看起来很简单,但我无法弄清楚为什么值是空白。
这是我的 Firebase JSON:
{
"pilots" : {
"HpPzn0XUqMgsKhUOpH75lHIhyFA3" : {
"pilot" : "First Lastname",
"weight" : 180
}
}
}
以下是 Firebase 规则,目前仅用于测试:
{
"rules": {
"pilots": {
".read": true,
".write": true
}
}
}
最后是 Swift 3 代码,这可能是丑陋的罪过。阅读和在线课程后的第一个应用程序。
import UIKit
import Firebase
import FirebaseCore
import FirebaseAuth
import FirebaseDatabase
class MainMenuViewController: UIViewController {
@IBOutlet weak var pilotUsername: UILabel!
@IBOutlet weak var dateTime: UILabel!
@IBOutlet weak var aircraftLabel: UILabel!
@IBOutlet weak var riskScoreInt: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let ref = FIRDatabase.database().reference()
let userID = FIRAuth.auth()?.currentUser?.uid
ref.child("pilots").child(userID!).child("pilot").observeSingleEvent(of: .value, with: { (snapshot) in
// Get user value
let value = snapshot.value as? NSDictionary
let username = value?["username"] as? String ?? ""
self.pilotUsername.text = username
print(username)
// ...
}) { (error) in
print(error.localizedDescription)
}
}
}
我只是使用 Firebase 文档中的示例代码。在
之后有一行代码(在示例中)let username = value?["username"] as? String ?? ""
那就是:
let user = User.init(username: username)
但它给了我一个错误。 “使用未解析的标识符‘用户’”
我认为我不需要那行代码,因为在我遵循的示例和课程中没有使用类似的代码。
提前致谢。这是我第一次在 Stack Overflow 上发帖。
【问题讨论】:
-
你需要创建一个
User类
标签: ios firebase swift3 firebase-realtime-database