FirebaseUIを使用している間、私はfirebaseから自分のデータのカスタムセルを実装しようとしています。FirebaseUI:致命的なエラー:オプション値をアンラッピングしている間に予期せぬ発見nilストーリーボードとUIラベルの使用
import UIKit
import Firebase
import FirebaseDatabaseUI
private let reuseIdentifier = "Cell"
class ShowDogsCollectionViewController: UICollectionViewController {
let firebaseRef = FIRDatabase.database().reference().child("dogs")
var dataSource: FirebaseCollectionViewDataSource!
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = FirebaseCollectionViewDataSource(ref: self.firebaseRef, cellClass: DogCollectionViewCell.self, cellReuseIdentifier: reuseIdentifier, view: self.collectionView!)
self.dataSource.populateCell { (cell: UICollectionViewCell, obj: NSObject) -> Void in
let snap = obj as! FIRDataSnapshot
let dogCell = cell as! DogCollectionViewCell
dogCell.backgroundColor = UIColor.green
print(snap.childSnapshot(forPath: "name"))
// The line below should set the label text for one of the labels on our custom UICollectionCell Class, however it unwraps to nil.
// fatal error: unexpectedly found nil while unwrapping an Optional value
// dogCell.dogAge.text = "woot"
}
self.collectionView?.dataSource = self.dataSource
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
そして、これは私のカスタムセルクラスである:ここで
私のコレクションビューコントローラは次のようになります。私はそうは次のように細胞内のいくつかのカスタムラベルを持っていると思います。リアルシンプル。
import UIKit
class DogCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var dogName: UILabel!
@IBOutlet weak var dogAge: UILabel!
@IBOutlet weak var dogToy: UILabel!
}
私はここにgithubの上のコードを掲載している:
https://github.com/thexande/firebaseCustomUICollectionViewCellDemo
としてだけでなく、ここでの問題を記述したビデオを:
私は応答を通じて選んだこの質問には、すべてのXIBとストーリーボードが関与しているようです。ストーリーボードではこれはできないのですか?
ありがとうございました!