【问题标题】:How to reload UITableView after deleting an item using UIPreviewAction使用 UIPreviewAction 删除项目后如何重新加载 UITableView
【发布时间】:2016-05-07 19:35:43
【问题描述】:

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

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

【问题讨论】:

    标签: ios 3dtouch


    【解决方案1】:

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

    在您要删除的地方使用此代码触发通知

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

    receiver action 将在你的控制器中 table view 存在的地方。在 viewdidload 中写下这一行,不要忘记在 deinit 函数中删除观察者

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

    最后是函数

     func reloadTable() {
              tableView.reloadData()
           }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-17
        • 1970-01-01
        • 2020-06-25
        • 2022-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多