应用程序冻结了一段时间

时间:2010-12-14 04:02:14

标签: iphone cocoa-touch xcode login freeze

在我的应用中,我有一个登录视图。当我输入登录详细信息并单击登录按钮时,应用程序会冻结一段时间然后继续。我知道它正在冻结,因为它正在与远程服务器进行通信,但是如何防止冻结并显示漂亮的状态动画呢?

2 个答案:

答案 0 :(得分:3)

由于您与服务器进行通信需要一些时间,因此您可以在alertview上添加一些动画。

但是通过简单地调用alertview它将无法正常工作。

所以你必须按照以下步骤进行:

1)在提交按钮上单击首先添加自定义指示视图

2)开始动画视图

3)调用NSThread进行服务器通信,如

[NSThread detachNewThreadSelector:@selector(yourActionName)toTarget:self withObject:nil];

4)删除动画视图

有关更多信息,请阅读本文: http://iphonedevcentral.blogspot.com/2010/08/safe-threaded-design-and-inter-thread.html

答案 1 :(得分:1)

您的API调用阻止了GUI线程。您可以通过在NSOperation调用中移动远程API请求调用来绕过此问题,并弹出加载屏幕直到API调用返回。