我有以下顺序:
我应该如何实现
connectionDidFinishLoading:
确定是否下载了所有图像以便我可以停止微调器?我应该跟踪下载次数,但是线程安全呢?
还是我应该看GCD?
最佳答案
我会使用 NSOperationQueue
并将下载作为单个 block 操作与同步 NSURLConnection
提交要求。您可以在那里设置最大并发操作数,这样您就不会一次下载所有内容,并且可以免费取消。跟踪完成可以简单地通过向队列提交另一个操作来完成——最后提交的操作将在所有下载完成后运行。不过,这可能需要将并发操作的数量限制为一个,因此另一种方法是监视(KVO)剩余操作的数量。当它下降到零时,你就完成了。
关于objective-c - 等待 NSURLConnection 委托(delegate)完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12937976/