这种方法曾经表现良好,但今天奇怪的是应用程序被阻止了。我无法检查它的状态或某事。有什么建议吗?提前致谢。
问问题
948 次
3 回答
2
synchronous
这就是请求的想法。如果您想要非阻塞操作,请使用asynchronous
请求或synchronous
在另一个线程(不是您的主线程)中使用。如果您需要进一步说明,请随时询问。
于 2012-05-02T10:45:39.607 回答
1
你应该发送一个异步请求...它不会影响 UI 并且会在后台运行。例如:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];
此请求在后台运行,可以使用下面提到的委托方法接收和处理数据。
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
由于 UI 在主线程上工作,所以 UI 不会被阻塞。
于 2012-05-02T11:55:49.957 回答
1
每当您使用同步请求或核心数据操作时。记得在后台线程中运行它,因为它会停止你的 UI
[self performSelectorInBackground:@selector(updateData) withObject:nil];
于 2012-05-02T10:54:43.983 回答