iOS ObjC背景中的网络和选择器

时间:2012-08-29 20:03:10

标签: objective-c ios multithreading networking selector

我正在尝试使用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个函数。请你解释一下为什么?

1 个答案:

答案 0 :(得分:0)

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