使用 UIPreviewAction 删除项目后如何重新加载 UITableView

How to reload UITableView after deleting an item using UIPreviewAction

我正在使用 UIPreviewAction 从 Core Data 数据源中删除一个项目。 Peek 操作是从使用相同数据源的 UITableView 上的单元格发起的。

我的问题是,由于 UIPreviewAction 的代码是窥视视图控制器代码的一部分,我应该如何向原始 UITableViewController 发信号通知它应该重新加载其数据源?

使用委托调用原始 UITableViewController 上的删除方法。

这可以通过多种方式完成,您可以像这样使用通知中心:

在您要删除的位置使用此代码触发通知

NSNotificationCenter.defaultCenter().postNotification(NSNotification(name: "reloadTable", object: nil))

接收器操作将在您的控制器中,table 在 vi​​ewdidload 中查看 exists.Write 这一行并且不要忘记在 deinit 函数中删除观察者

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.reloadTable), name: "reloadTable", object: nil)

最后函数

 func reloadTable() {
          tableView.reloadData()
       }