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

时间:2016-05-07 19:35:43

标签: ios 3dtouch

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

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

2 个答案:

答案 0 :(得分:2)

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

使用您要删除的代码

触发通知
NSNotificationCenter.defaultCenter().postNotification(NSNotification(name: "reloadTable", object: nil))

接收器操作将在您的控制器中存在表视图。在viewdidload中写入此行,并且不要忘记在deinit函数中删除观察者

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

最后的功能

 func reloadTable() {
          tableView.reloadData()
       }

答案 1 :(得分:0)

使用委托在原始UITableViewController上调用delete方法。