FirebaseUI表视图崩溃为'无效更新:第0部分中的行数无效

时间:2017-04-30 14:26:19

标签: ios swift firebase firebase-realtime-database firebaseui

我在一个标签控制器中有3个表视图,所有这些视图都填充如下:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    self.dataSource = self.notesTableView.bind(to: getQuery()) { tableView, indexPath, snap in

        let cell = self.notesTableView.dequeueReusableCell(withIdentifier: "cellident", for: indexPath)
        let customCell = cell as! TextCell
        self.notesTableView.dataSource = self.dataSource
        self.notesTableView.delegate = self

        if let note = snap.childSnapshot(forPath: "note").value as! String? {
            customCell.notesLabel.text = note
        } else {
            customCell.notesLabel.text = "Undefined"
        }

        return cell
    }
}

当我在手机上运行应用程序并在标签之间切换时,在某些时候我总是遇到这个例外:

  

' NSInternalInconsistencyException',原因:'无效更新:第0部分中的行数无效。

此外,控制台显示了这一点,但我不确定如何解释这个:

  

***断言失败 - [UITableView _endCellAnimationsWithContext:],/ BuildRoot / Library / Cache / com.apple.xbs / Source / UIKit / UIKit-3600.7.47 / UITableView.m:1737

我的问题是,是否有人知道与FirebaseUI相关的此异常的原因可能是什么。我的猜测是它与填充表格有关。

1 个答案:

答案 0 :(得分:0)

viewWillDisappear设置self.dataSource = nil

因此,您不能不正确地更新dataSource

来自这个问题 here

根据我的经验,最安全的方法是viewWillDisappear设置self.dataSource.unbind()