我在设置与sendAsynchronousRequest:queue:completionHandler:
方法(NSURLConnection
类)相关的正确配置时遇到了一些困难。
我的情况如下:
我建立了一个管理不同NSURLConnection
s 的单例类。这个单例实例有一个NSOperation Queue
(称为downloadQueue
),它向 Web 服务器发出请求并检索字符串路径 (1)。完成后,该路径用于在 Web 服务器 (2) 中下载文件。最后,当文件正确下载后,我需要更新 UI (3)。
我只找到了第一个请求:我可以通过它下载路径。您能建议我执行其他两个步骤的方法吗?
这里有几个问题:
下载队列(
downloadQueue
)不是主要的,是否可以在该队列中打开一个新的 NSURLConnection ?换句话说,它正确吗?(参见代码片段中的注释)如果上一个问题是正确的,我该如何获取主队列并更新 UI?
这是我用来执行第一步的代码片段,其中downloadQueue
是可以通过访问器方法(@property
/ @synthesized
)获取的实例变量;
// initializing the queue...
downloadQueue = [[NSOperation alloc] init];
// other code here...
[NSURLConnection sendAsynchronousRequest:urlRequest queue:[self downloadQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if([data length] > 0 && error == nil) {
// here the path (1)
// how to perform a second connection?
// what type of queue do I have to use?
}
}];