我使用ASIHTTPRequest在我的iPhone应用程序中执行http请求。 ASIHTTPRequet附带该功能,可在发出请求时启动活动指示器,并在完成时停止。问题是,一旦我开始请求,只要我的应用程序运行,指示器就不会停止并继续旋转。
这是我的代码,一个小实用程序方法,可以同步从Web中获取一些内容(因为它是在另一个线程中启动的):
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL: [NSURL URLWithString: url]];
[request startSynchronous];
NSError *error = [request error];
NSString *response = nil;
if (error) {
NSLog(@"error %@", error);
return nil;
}
int statusCode = [request responseStatusCode];
response = [NSString stringWithString: [request responseString]];
NSLog(@"status code: %d response: %@", statusCode, response);
if (statusCode != 200) {
return nil;
}
return response;
上面的代码工作正常,我得到给定URL的内容作为NSString只有指标保持旋转。我的问题是:为什么指标永远不会停止以及如何解决?我必须在这里发布一些资源吗?
答案 0 :(得分:3)
这是最近在ASIHTTPRequest的开发版本中修复的错误:
http://github.com/pokeb/asi-http-request/commit/35ea592084145b3332861344f36b52dbcaafa351
(它只影响在辅助线程上启动的同步请求)
答案 1 :(得分:0)
您是否可以使用异步请求尝试相同的操作,看看是否会更改它?我使用ASIHTTPRequest并且我从未注意到这种行为,但我也从不使用同步请求。