populateCellWithBlock FirebaseUI 出现错误
Posted
技术标签:
【中文标题】populateCellWithBlock FirebaseUI 出现错误【英文标题】:Getting an error with populateCellWithBlock FirebaseUI 【发布时间】:2015-09-04 19:26:13 【问题描述】:我收到了错误:
无法使用类型为 ((UITableViewCell, NSObject) -> Void) 的参数列表调用“populateCellWithBlock”
我不知道为什么会这样。任何建议都会很棒。谢谢。
self.dataSource.populateCellWithBlock (cell: UITableViewCell, obj: NSObject) -> Void in
let snap = obj as! FDataSnapshot
cell.textLabel?.text = snap.value as? String
【问题讨论】:
【参考方案1】:现在 FirebaseUI 接受 AnyObject
作为两个参数。您可以在闭包内转换类型。
self.dataSource.populateCellWithBlock (cell: AnyObject, obj: AnyObject) in
let snap = obj as! FDataSnapshot
let theCell = cell as! UITableViewCell
theCell.textLabel?.text = snap.value as? String
我们正在努力在即将发布的版本中实现更好的 Swift 兼容性。
【讨论】:
如果您使用的是 XCode 7 beta 5+,并支持__kindof
,那么原版应该可以工作(尽管由于我丢失的原因并且在文档中不清楚,这些类型的子类不似乎不起作用,即使它们在 Obj-C 中起作用);否则,如果没有__kindof
支持,则类型默认为id
或AnyObject
,这就是David 的解决方案有效的原因。有关如何实施的更多信息,请参阅github.com/firebase/FirebaseUI-ios/blob/master/FirebaseUI/…。以上是关于populateCellWithBlock FirebaseUI 出现错误的主要内容,如果未能解决你的问题,请参考以下文章