0

我正在尝试使用 NSURLConnection 通过 HTTP 获取图像。我在后台执行选择器

[self performSelectorInBackground:@selector(loadingDaemon) withObject:nil];

我在哪里做这个

NSString *fullImageURL = [NSString stringWithFormat:@"http://%@/%@", baseURL, currentlyLoadingImage];
NSURL *imgURL = [NSURL URLWithString:fullImageURL];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:imgURL];
request.timeoutInterval = 10;
NSURLConnection *newConnection = [NSURLConnection connectionWithRequest:request delegate:self];

我将 NSURLConnection 的委托设置为self并实现方法

connection:didReceiveResponse:
connection:didReceiveData:
connection:didFailWithError:
connectionDidFinishLoading:

此外,我记录每个方法调用和条件分支。但是上面的 4 个函数永远不会被调用。请你能解释一下为什么吗?

4

1 回答 1

0

您正在创建的 NSURLConnection 正在后台执行这些操作,因此不需要在后台执行它,这就是它不适合您的原因。您可以将 NSURLConnection sendAsynchronousRequest 与当前调用选择器的方式一起使用,或者直接调用该函数。

于 2012-08-29T20:52:42.113 回答