Objective-C - 在不注意用户的情况下重新加载UITableView

时间:2011-10-19 22:54:33

标签: objective-c cocoa-touch uitableview

如何在不注意iDevice背后的用户的情况下重新加载UITableView

我正在UITableView更新我的-applicationWillEnterForeground:数据源,通过向我的RootViewController发送通知来观察通知并运行一个调用[self.table reloadData]的选择器,但我希望此更新为隐身制造并没有向用户展示。

似乎在-viewWillAppear:

之前触发-applicationWillEnterForeground:

1 个答案:

答案 0 :(得分:1)

我对你的问题感到有点困惑,但我认为你想要的是一种在屏幕上出现之前重新加载数据的方法,是吗?

我想找出一种直接调用数据刷新方法的方法,而不是通过通知。通知会从-applicationWillEnterForeground中解除数据刷新,从而显示查看时间。

序列可能是这样的:

  1. applicationWillEnterForeground
  2. viewWillAppear
  3. 视图显示。
  4. 通知观察者方法被称为

    a)通知观察者方法调用[self.table reloadData]

  5. 表格视图会在屏幕上刷新。
  6. 您想要的是将通知方法耦合到在视图出现之前调用的方法。直接来自applicationWillEnterForegroundviewWillAppear

    那样它会像这样发挥:

    1. applicationWillEnterForeground

      a)调用您的数据刷新方法。 (不需要调用[self.table reloadData],tableView还没有加载数据。)

    2. viewWillAppear
    3. 视图显示。
    4. 表视图已加载已刷新的数据。
    5. 或者像这样:

      1. applicationWillEnterForeground
      2. viewWillAppear

        a)调用您的数据刷新方法。 (不需要调用[self.table reloadData],tableView还没有加载数据。)

      3. 视图显示。
      4. 表视图已加载已刷新的数据。