swift - setEditing 方法删除按钮不起作用

标签 swift uitableview

在我的 UIViewController 中,我有一个 UITableView,它包含不同的单元格,其中包含使用 NSUserDefaults 保存的内容。我还有一个自定义 UIBarButtonItem,它会导致 UITableView 进入和离开编辑模式。

一切正常,但问题是当我点击圆形红色按钮时,单元格右侧出现删除按钮,删除按钮不起作用...我可以尽可能多地点击它想要但单元格不会被删除。

@IBAction func EditListButton(sender: UIBarButtonItem) {
    if ShoppingListTable.editing {
        ShoppingListTable.setEditing(false, animated: true)
        self.EditListButton.title = "Edit"
    } else {
        ShoppingListTable.setEditing(true, animated: true)
        self.EditListButton.title = "Done"
    }
}

最佳答案

使用 UITableViewDataSourcetableView:commitEditingStyle:forRowAtIndexPath:检测对删除按钮的点击。

然后在实现中从您的数据源中删除该行(在您的情况下为 NSUserDefaults)。

因此,在您的 tableView 的数据源中(例如,在您实现 numberOfSectionsInTableView: 的类中),在您删除的位置添加您自定义的 tableView:commitEditingStyle:forRowAtIndexPath:基础数据。

关于swift - setEditing 方法删除按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31680425/

相关文章:

ios - 如何在按钮操作上从 UIView 移动到 UIViewcontroller

ios - 如何使用 RxSwift 的 Groupby 运算符将 GroupedObservable<String, Message> 转换为 SectionModel<String, Message>?

swift - 根据优先级在 Tableview 中自动排列行 - Swift 3/4

ios - UITextField - 返回时向下滚动

ios - Swift 中的 UIImageView 动画有时间延迟

swift - 为什么可选数组在 Swift 中不可枚举?

ios - 动态更新 UITableView 高度和数据

ios - 如何将 UITableView 上的分隔线放到特定部分?

ios - tableView 的 UIRefreshControl 滚动时覆盖第一个单元格

ios - 增加 1 UITableViewCell 分隔符高度