代码之家  ›  专栏  ›  技术社区  ›  Jules

在加载tableview之前,我是否可以在工作时显示进度指示?

  •  0
  • Jules  · 技术社区  · 14 年前

    我允许用户管理其他视图的记录。如果做了某些更改,我会设置一个标志。

    然后在标志(数据更改将对其产生影响)上运行一些方法/查询,这些方法/查询创建在表视图中使用的数据。此工作负载当前出现在视图中。

    这可能需要几秒钟,我想展示我今天写的进度指示器视图,它使用一个透明的视图,在视图的中心有一个活动指示器。

    [self performSelectorInBackground:@selector(startupStuff) withObject:sender];
    

    但是,当我在后台运行工作时,viewwill将不会等待。

    理想情况下,我正在寻找解决这个问题的快速方法。

    有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Ole Begemann    14 年前

    但是,当我在后台运行工作时,viewwill将不会等待。

    这就是重点,不是吗?在你的最后 startupStuff 方法,您应该在主线程上调用另一个方法(使用 performSelectorOnMainThread:... )用于(a)通知控制器数据已就绪,(b)重新加载表视图和(c)关闭进度指示器视图。