在didSelectRowAtIndexPath中访问来自Firebase的CustomCell内容

时间:2016-08-15 08:28:26

标签: swift firebase-realtime-database firebaseui

我的应用从Firebase数据库中检索数据,使用我的CustomCell将其放入tableView中,我的目标是在点击一个单元格时,我想要存储在该抽头单元格中的标签中的字符串。

所以我现在尝试了几天,所提供的解决方案主要仅适用于静态单元格,其中内容不是动态加载的,就像它在这里一样。 我试过的选项:

  1. 使用数组存储内容,然后将其与indexPath 结合使用:结果很难,因为数组未与Firebase正确同步,导致indexPath中的订单错误。我还没有找到一个可以保持阵列同步的库,但是普遍的共识似乎是我在使用Firebase时应该远离数组。
  2. 使用建议here 之类的委托或关闭:因为我使用FirebaseUI来填充我的单元格,所以我没有cellForRowAtIndexPath或{ {1}},这也是一个难以解决的问题。
  3. 到目前为止我所拥有的:

    dequeueReusableCellWithIdentifier

    我现在的问题是什么才是最实用的方法,如果有解决方案,我还没有考虑过?

1 个答案:

答案 0 :(得分:1)

在didSelectRowAtIndexPath TableViewDelegate方法

中执行此操作
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
  let path: NSIndexPath = indexPath
  let source = dataSource
  let snapshot: FIRDataSnapshot = (source?.objectAtIndex(UInt(path.row)))! as! FIRDataSnapshot
  let childString = snapshot.value as! String
}