什么可以触发UITableView重新加载?

时间:2015-03-18 12:59:09

标签: ios uitableview

我正在追逐这个奇怪的错误,我的UITableView(由NSFetchedResultsController支持)正在重新加载,而我没有明确要求它。这个UITableView有一个UITableViewController作为它的控制器和一个View Model作为它的数据源。流程如下:

  1. 点击过滤器按钮
  2. 出现过滤器屏幕
  3. 选择一个过滤器
  4. 点击过滤按钮
  5. 来自tableView
  6. presentingViewController已重新加载
  7. 过滤器屏幕消失
  8. 现在我知道,有些事情可以在这种情况下触发重新加载:

    • 对任何重装功能(行/部分)的调用
    • NSFetchedResultsController代表被召唤

    这些都不是真的。唯一发生的事情是解雇过滤器列表屏幕 - 由过滤器按钮触发:

    @IBAction func filterButtonAction(sender: AnyObject) {
            self.presentingViewController!.dismissViewControllerAnimated(false, completion: nil)
        }
    

    请注意,UITableView重新加载仅在调用filterButtonAction后才发生,而不是之前。这表示与UIViewController的回调(viewWillAppear等)相关的内容,但是没有找到一个重新加载表(而且我没有'甚至在viewWillAppear上实施presentingViewController

    什么可能触发tableView重新加载?有没有办法跟踪对tableView数据源的调用?

1 个答案:

答案 0 :(得分:0)

原来这是一个iOS 8问题 - 我开始在iOS 7设备上进行测试,并且没有随机调用reloadTable。