滚动到结尾时,Realm Notification侦听器崩溃

时间:2017-12-11 12:17:02

标签: ios swift uitableview realm

我使用realm db来表示UITableView,DB是如此动态,它将每毫秒更改或修改。

我列出了他们的文档中提到的类似通知。

extension UITableView {
    func applyChanges<T>(changes: RealmCollectionChange<T>) {
        switch changes {
        case .initial: reloadData()
        case .update(_, let deletions, let insertions, let updates):
            let fromRow = {(row: Int) in
                return IndexPath(row: row, section: 0)}

            beginUpdates()
            deleteRows(at: deletions.map(fromRow), with: .automatic)
            insertRows(at: insertions.map(fromRow), with: .automatic)
            reloadRows(at: updates.map(fromRow), with: .none)
            endUpdates()
        default: break
        }
    }
}

myTableViewViewController.swift

//在ViewDidload中

_ = dbfiles?.observe(self.tableView.applyChanges)

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell") as! MyCell
        if indexPath.row <= (dbfiles?.count)! {
     // update cell info 
}

return cell

当我滚动到结束或反复时,我正在崩溃,如下所示

    @throw RLMException(@"Index %zu is out of bounds (must be less than %zu).",
                        e.requested, e.valid_count);

建议我如何优雅地处理这个问题。

0 个答案:

没有答案