撤消了用于tableView行删除的管理器

时间:2017-01-12 22:07:47

标签: ios swift uitableview swift3 nsundomanager

删除undo manager中的行时,是否可以实施tableView

我已阅读undo manager,您必须将viewController设为becomeFirstResponder()

问题是我在tableView

中使用了collectionViewCell

如何继续注册撤消?

我尝试了以下内容,它似乎无法正常工作

    @IBAction func tableButtonUndo(_ sender: Any) {

        print("undo working")
        undoItem()

    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        indexPathSelected = indexPath.row

        if tableView == ordersTableView {

            print("tap in kitchen table view")


            self.removeItemKitchen()

            ordersTableView.reloadData()

        }
    }

    func removeItemKitchen() {
        orderSingle.orderListFormatted.remove(at: indexPathSelected)
        undoManager?.registerUndo(withTarget: MyVC(), selector: #selector(self.undoItem), object: nil)
        undoManager?.setActionName("Undo")
    }


    func undoItem() {
        undoManager?.registerUndo(withTarget: MyVC(), selector: #selector(self.removeItemKitchen), object: nil)
        undoManager?.setActionName("Undo")
        undoManager?.undo()
    }

此代码应该撤消操作,但我会重做,它会删除下一行。

我想通过点击撤消按钮

来恢复已删除的行

0 个答案:

没有答案