如何避免Firebase致命错误:意外地发现零,而解包一个可选值?

我正在尝试从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") 

随机string是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 } } 

让名字行工作正常。

 print(name) 

这一行:

 self.nameLabel.text = name 

原因:

致命错误:意外地发现零,而解包一个可选的值(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

请使用,如果让解开可选项

  if let name = snap.value as? String{ self.nameLabel.text = name } 

并检查您的网点连接正确,否则坠毁..