我有10个NSURLSessionDownloadTask
个实例同时下载10个文件。
每个实例的命名方式都不同(例如,对于downloadTask1,downloadTask2等等。)
我将它们初始化如下,
self.downloadTask1 = [self.session downloadTaskWithURL:[NSURL url1]]
self.downloadTask2 = [self.session downloadTaskWithURL:[NSURL url2]]
self.downloadTask3 = [self.session downloadTaskWithURL:[NSURL url3]]
.
.
self.downloadTask10 = [self.session downloadTaskWithURL:[NSURL url10]]
这需要10行。现在我的问题是,
我是否可以通过在NSURLSessionDownloadTask
中添加每个NSMutableArray
个实例来单行执行此操作。
这是我试过的
for(i=0;i<10;i++){
[self.downloadTaskArray objectAtIndex:i] = [self.session downloadTaskWithURL:[NSURL [self.urlArray objectAtIndex:i]]
}
我知道上面的方法是错误的。我遇到的错误是表达式不可分配。
我希望你能理解我的问题。有可能实现我的目标吗?
注意:我肯定想为downloadTask使用不同的名称 因为我需要在我的项目中稍后识别它们
答案 0 :(得分:2)
尝试以下代码:
for(i=0;i<10;i++){
[self.downloadTaskArray addObject:[self.session downloadTaskWithURL:[NSURL [self.urlArray objectAtIndex:i]]];
}
答案 1 :(得分:0)
for(i=0;i<10;i++)
{
NSURLSessionDownloadTask* task = [self.session downloadTaskWithURL:[self.urlArray objectAtIndex:i]];
[self.downloadTaskArray addObject:task];
}
答案 2 :(得分:0)
试试这段代码:
for(int i=0;i<10;i++)
{
NSURLSessionDownloadTask* task = [self.session downloadTaskWithURL:[self.urlArray objectAtIndex:i]];
task.taskIdentifier = i;//To keep track of download task in current session.(an identifier for this task, assigned by and unique to the owning session)
[self.downloadTaskArray addObject:task];
}
您可以通过从taskIdentifier访问对象来重新启动对象。