如何使用 rxswift 切换 editButtonItem?

How to toggle editButtonItem with rxswift?

我有以下设置

override func viewDidLoad() {

    super.viewDidLoad()

    navigationItem.leftBarButtonItem = editButtonItem

    navigationItem.leftBarButtonItem?.rx.tap.subscribe(onNext: { [weak self] _ in

        print("edit tapped")

        if let isEditing = self?.tableView.isEditing {

            self?.tableView.setEditing(!isEditing, animated: true)

        }

        }).disposed(by: disposeBag)
}

问题是左栏按钮项目在点击时没有切换。左栏按钮中的 I.E 文本应从 Edit 更改为 Done

在 onNext 方法中更改按钮标题也不起作用。

您应该在 self 上调用 setEditing,而不是 table 视图。如果 selfUITableViewController,这也会更改 table 视图的编辑状态。