1

在我的课堂上,我创建了一个 CBUrlConnection:

urlConnection = [NSURLConnection connectionWithRequest:request delegate:self];
[urlConnection start];

但我没有得到任何回应,这些委托方法永远不会被调用:

- (void)connection:(NSURLConnection *)connection didFinishLoadingData:(NSData *)data error:(NSError *)error
- (void)connection:(NSURLConnection *)connection didUpdateProgress:(CGFloat)percent
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

请求似乎是正确的,服务器 url 肯定是正确的,并且服务器工作正常。有什么问题?

4

2 回答 2

4

我刚刚修复它......这是因为代码没有在主线程上运行。

对于可能感兴趣的人,我已经解决了:

dispatch_sync(dispatch_get_main_queue(), ^{

});
于 2012-07-03T10:00:51.087 回答
1

您绝对可以NSURLConnectionNSOperation. 实际的技巧是NSURLConnection需要一个运行循环。请参阅http://www.cocoaintheshell.com/2011/04/nsurlconnection-synchronous-asynchronous/https://stackoverflow.com/a/6238764/171933

  • 约翰内斯
于 2012-07-03T10:39:02.583 回答