Firebase から読み取り、取得した値にラベルを設定しようとしています
これは、ViewController クラスの上部がどのように見えるかです。
import UIKit
import Firebase
class ProfileTabViewController: UIViewController {
//MARK: Properties
@IBOutlet weak var nameLabel: UILabel!
var userName = "userName"
私は Firebase Reference を持っています
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
原因:
致命的なエラー: オプション値のラップ解除中に予期せず 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を実行しています