【问题标题】:How to delete a row from UITableView with RxSwift without any inconsistency error?如何使用 RxSwift 从 UITableView 中删除一行而不会出现任何不一致错误?
【发布时间】:2018-11-02 07:12:37
【问题描述】:
todoTableView.rx.itemDeleted.asObservable()
    .subscribe({ (event) in
        let indexpath = event.element
            self.viewModel.deleteToDo(index: (indexpath?.row)!, completion: {
                self.todoTableView.deleteRows(at: [indexpath!], with: .fade)
            })
        })
        .disposed(by: disposeBag)

当我从 tableView 中删除一行时,表在删除动画发生之前得到更新,因此我收到内部不一致错误。

【问题讨论】:

    标签: swift uitableview tableview rx-swift


    【解决方案1】:

    您需要在该表订阅的数据源中删除它。然后它会自动传播到表中。 IE。 不是通过deleteRows方法。

    【讨论】:

    • 谢谢....我这样做了,我没有收到任何不一致的错误,但问题是现在我看不到删除动画。当我滑动删除并单击删除按钮时,它只是卡在那里,当我触摸其他地方时......表格已更新。我没有收到任何错误,但遇到了这个问题。
    • 你在用RxTableViewSectionedAnimatedDataSource吗?
    • 如果你需要动画,你应该这样做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多