2010-08-09 61 views
1

我正在使用NSUrlConnection从服务器访问数据。 我希望在从服务器获取数据期间停止用户交互以及代码执行。如何使用UIActivity指标与NSUrlConnection

而且我越来越多地阅读Stack Overflow或Google,但我没有得到适当的解决方案。

请参阅我正在使用的代码。

当用户第一次点击访问服务器中的数据时,我开始了活动指示器。

[activity startAnimating]; 


NSString *post = 
[[NSString alloc] initWithFormat:@"Email=%@&Pass=%@",Email,pass]; 

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

NSURL *url = [NSURL URLWithString:@"http://server.in/LoginStatus.php"]; 
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPBody:postData]; 


NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 

if(theConnection) 
{ 

    webData = [[NSMutableData data] retain]; 
} 
else 
{ 


} 

connectionDidFinishLoading函数我停止活动指示器。

问题是,当我检查返回的数据,然后显示以前的结果。当再次点击时,它会显示正确的结果。

请建议您是否有任何想法。

+0

你应该发布完整的代码,连同didRecieveData和connectionDidFinish .. – 2010-08-09 12:42:10

回答

0

尝试在不同的线程中运行UIActivityIndi​​cator和NSURLConnection。我遇到了连接存活时指示器没有显示的问题。把这两个分开的线程解决了它。

0

只需使用 [activity startAnimating]; 你的方法中

现在试图在一些NSURL连接thread.And从你的方法调用 线程,一旦连接得到完成使用 [活动stopAnimating]

肯定会工作