首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在启动时加载plist需要很长时间。如何显示活动指标?

在启动时加载plist需要很长时间。如何显示活动指标?
EN

Stack Overflow用户
提问于 2012-01-15 04:32:56
回答 1查看 498关注 0票数 0

我的应用程序在启动时加载了一个在线plist,这是在将显示的表视图中显示数据所需的。根据互联网连接的不同,加载plist可能需要相当长的时间(4-5秒),并且整个启动屏幕都会显示出来。现在,我想在状态栏中放置一个活动指示器(当启动屏幕仍然打开时),这样用户就可以知道应用程序正在忙于加载。

我正在加载plist并在ViewDidLoad中创建数组等,但我不确定如何实现上面概述的内容。

你对这件事有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-15 04:43:57

如果我是你,我会重新考虑你的方法。除非您特别采取措施来避免这种情况,否则下载plist的代码很可能会在applicationDidFinishLaunching:返回之前被调用。这是不好的,因为如果花了很长时间,那么看门狗可能会在你的应用程序真正正确启动之前就终止它。这不是一件好事。

你真的应该在后台线程中开始下载,只需要在你的实际视图中放置一个旋转器。所以就像这样:

代码语言:javascript
复制
- (void)viewDidLoad {
    ...

    UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    spinner.center = CGPointMake(self.view.bounds.size.width / 2.0f, self.view.bounds.size.height / 2.0f);
    [spinner startAnimating];
    [self.view addSubview:spinner];

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        // Do your downloading of your plist, etc
        dispatch_async(dispatch_get_main_queue(), ^{
            [spinner removeFromSuperview];
        });
    });
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8865169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档