首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >performSelectorInBackground:导致CocoaAsyncSocket崩溃

performSelectorInBackground:导致CocoaAsyncSocket崩溃
EN

Stack Overflow用户
提问于 2013-02-17 00:31:10
回答 1查看 326关注 0票数 0

几天前,我发现了performSelectorInBackground:,我立刻就知道我的应用程序中有一个地方可以完美地使用它。

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

    waitForStartCode.text = @"Loading...";
    userNotifications.text = @"";
    timeRemaining.text = @"";
    [loadingNTP startAnimating];

    [self performSelectorInBackground:@selector(initializeEverything) withObject:nil];

}

当我的视图可见时,调用此函数。以前,当使用CocoaAsyncSocket连接到NTP时间服务器时,我的应用程序冻结,直到这个过程完成。我真的想要一个具有动画UIActivityIndicatorView的加载视图。

除了使用CocoaAsyncSocket进行NTP初始化之外,initializeEverything中的所有内容都工作得很好。

代码语言:javascript
复制
[NetworkClock sharedNetworkClock];

我得到了一个:

即使用我不熟练的眼睛,我也能断定CocoaAsyncSocket不应该在后台运行。

有什么办法可以解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-17 00:45:38

CocoaAsyncSocket支持异步联网。因此,原则上您不需要自己创建后台线程来防止UI冻结: CocoaAsyncSocket将在后台为您处理通信。

我不能说你是否以一种“阻塞”的方式使用框架,或者你正在做的任何其他事情都会使你的UI阻塞。但是,正如我所说的,原则上您不需要自己管理后台线程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14912491

复制
相关文章

相似问题

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