【问题标题】:iOS FirebaseUI with Custom UITableViewCell带有自定义 UITableViewCell 的 iOS FirebaseUI
【发布时间】:2017-02-08 11:14:40
【问题描述】:

我正在尝试使用 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 firebase firebase-realtime-database firebaseui


    【解决方案1】:

    我的解决方案是停止使用 FirebaseUI for iOS。

    【讨论】:

      【解决方案2】:

      你需要使用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 database for iOS

      【讨论】:

        猜你喜欢
        • 2019-11-09
        • 2012-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多