我正在尝试从Firebase读取并将标签设置为我得到的值
这就是我的ViewController类的顶部:
import UIKit
import Firebase
class ProfileTabViewController: UIViewController {
//MARK: Properties
@IBOutlet weak var nameLabel: UILabel!
var userName = "userName"
我在
上有一个Firebase参考var currentUserName = Firebase(url: "https://buzzmovieios.firebaseio.com/users/884962b7-9fd8-49db-b172-1ad7cb1414f4/Name")
随机字符串是Firebase返回的uid。
我正在尝试在viewDidAppear()方法中获取用户名:
override func viewDidAppear(animated: Bool) {
print(currentUserName)
currentUserName.observeEventType(.Value) { (snap: FDataSnapshot!) in
let name = snap.value as! String
self.nameLabel.text = name
}
}
let name行正常工作。
print(name)
这一行:
self.nameLabel.text = name
导致:
致命错误:在展开Optional值时意外发现nil (lldb)
我已经尝试了
let name = snap.value as? String
并且它不起作用。
这就是我的Firebase的样子:
buzzmovieios
users
--884962b7-9fd8-49db-b172-1ad7cb1414f4
Major: CS
Name: Shawn
--8880069d-1944-493d-8246-8119fc4bfc81
等等。
如何避免此展开错误?谢谢!
注意:我正在运行XCode 7.3
答案 0 :(得分:4)
如果要打开像
这样的选项,请使用 if let name = snap.value as? String{
self.nameLabel.text = name
}
并检查您的插座是否正确连接,否则它会崩溃..