我想使用NSURLConnection和NSOperationQueue(?)在https上下载几个页面。我不想使用ASIHTTPRequest或类似的,因为当Apple更新iOS时,我不希望我的代码依赖于他们更新代码(如果需要)。我想使用纯苹果的东西。
将下载大约100个页面,它们还有一个应该下载的图像的URL。在下载上一页之前,不知道此链接。我相信5个或者更多的并发下载应该同时运行。
如何跟踪所有内容和下载进度,同时完成响应式用户界面?
答案 0 :(得分:0)
我认为您可以使用NSURLConnection和NSOperationQueue。 NSURLConnection有一个类函数
+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler
在那里你可以定义它应该属于哪个NSOperationQueue,你可以定义一个完成处理程序。处理程序是一个块,它将在NSURLConnection完成时执行。在该块中,您可以访问NSURLResponse。 由于整个事情是异步的,因此您可以访问用户界面。
这里的一个很大的优点是可以在不同的cpu核心上执行这些块。