我试图弄清楚如何为tableviewcell
使用 Firebase UI做一个自定义 xib 和类
我在 XCode 中设置的东西:我有一个名为的自定义 xib 文件EventCellView.xib
,并且 xib 内部的自定义 tableviewcell 有一个重用 id eventCell
,它也是类EventTableViewCell
我的EventTableViewCell
自定义类代码是
class EventTableViewCell: UITableViewCell {
@IBOutlet weak var eventTitle: UILabel!
@IBOutlet weak var eventDate: UILabel!
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func awakeFromNib() { super.awakeFromNib() }
}
目前,从 github 阅读 Firebase UI 文档,我尝试了多种不同的方法来设置我的数据源,这是最近的一种:
self.dataSource = FirebaseTableViewDataSource(ref:fbRef,
nibNamed: "EventCellView",
cellReuseIdentifier: "eventCell",
view: self.eventTable)
self.dataSource!.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in
let snap = obj as! FDataSnapshot
var customCell = cell as! EventTableViewCell
customCell.eventTitle.text = snap.key
}
基本上按照 Github 上的说明,它说要子类UITableViewCell
化并实现 init (style, resuseId) 方法,然后我cellResuseIdentifier
在数据源中指定和 nib ,我得到以下错误:
Terminating app due to uncaught exception `NSInternalInconsistencyException`, reason:
为标识符 (eventCell) 注册的 nib 无效 - nib 必须恰好包含一个顶级对象,该对象必须是 UITableViewCell 实例
任何帮助都会很棒,谢谢。