iOS FirebaseUI与自定义UITableViewCell



我正在尝试使用FirebaseUI使用自定义UITableViewCells填充UITableView。除了FirebaseTableViewDataSource.populateCell()方法提供的TableViewCells没有"连接"到视图中的出口外,一切似乎都有效。下面是一个例子:

这是自定义UITableViewCell类。被加载视图控制器的故事板中的UITableView有这个自定义单元格类。

class JobTableViewCell : UITableViewCell {
  @IBOutlet weak var labelJobName: UILabel!
}

下面是视图控制器的ViewDidLoad()中设置表格的代码:

dataSource = FirebaseTableViewDataSource(ref : ref, cellClass : JobTableViewCell.self, cellReuseIdentifier: "JobTableViewCell", view: self.tableView);

dataSource.populateCell{(cell : UITableViewCell, obj : NSObject) -> Void in
  let snapshot = obj as! FIRDataSnapshot;
  let job = Job(snapshot);
  let jobCell = cell as! JobTableViewCell
  //////////////////////////////////////////////////////////
  // jobCell and its outlets are nil so this next statement 
  // causes exception. 
  jobCell.labelJobName.text = job.name;
}
self.tableView.dataSource = self.dataSource;

所以问题是如何让FirebaseUI提供自定义单元的出口连线?我不知道该怎么做。

我的解决方案是停止在iOS上使用FirebaseUI

您需要使用self.tableView.bind

例如,

var dataSource: FUITableViewDataSource!
self.dataSource = self.tableView.bind(to: ref) { tableView, indexPath, snapshot in
  // Dequeue cell
  let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)
  /* populate cell */
  return cell
}

参见Firebase UI数据库for iOS获取更多信息

相关内容

  • 没有找到相关文章

最新更新