Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用NSURLConnection在队列中异步下载_Iphone_Objective C_Nsurlconnection_Nsoperationqueue - Fatal编程技术网

Iphone 使用NSURLConnection在队列中异步下载

Iphone 使用NSURLConnection在队列中异步下载,iphone,objective-c,nsurlconnection,nsoperationqueue,Iphone,Objective C,Nsurlconnection,Nsoperationqueue,我有一个用户可以下载文档的应用程序。用户可以选择下载多个文档。多次下载应按顺序依次进行(文件下载完成后,另一个应自动开始) 目前,我使用NSURLConnection异步下载数据(一次下载一个文档) 如何使用NSOperation Queue实现这一点?创建NSOperation对象并将其添加到NSOperationQueue。跟随 链接到机箱NSOperation和NSOperationQueue 然后使用NSOperationQueue方法将最大并发操作设置为1 setMaxConcurre

我有一个用户可以下载文档的应用程序。用户可以选择下载多个文档。多次下载应按顺序依次进行(文件下载完成后,另一个应自动开始)

目前,我使用NSURLConnection异步下载数据(一次下载一个文档)


如何使用NSOperation Queue实现这一点?

创建
NSOperation
对象并将其添加到
NSOperationQueue
。跟随

链接到机箱NSOperation和NSOperationQueue

然后使用
NSOperationQueue
方法将最大并发操作设置为1

setMaxConcurrentOperationCount 

与其排队等待NSO操作,为什么不存储NSArray下载“项目”(例如,您要下载的URL),然后当其中一个NSURLConnection完成下载时,您可以检查阵列,如果阵列中有任何内容,您可以启动新的NSURLConnection下载,然后删除刚刚下载的项目

这样,如果您在每次下载之间将下载项阵列存储在磁盘上,如果您的应用程序崩溃或终止,它可以在停止的地方启动