Вы используете асинхронную загрузку, но делегатом для каждого элемента загрузки является один и тот же объект, в результате чего все загруженные данные добавляются в один и тот же файл. Я делаю так, чтобы у меня был маленький объект (DownloadQueueItem), который является делегатом для одной загрузки. Когда вы загружаете другой файл, вы создаете новый DownloadQueueItem, и он обрабатывает все.
Edit:
Q: вместо%, который я ставлю сам, я ищу, есть ли способ каждый раз создавать новый файл, например, если "" NewResult.zip "существует, тогда создайте" NewResult1 " почтовый индекс "и т. д.
A: Вы можете сделать что-то вроде этого:
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filename = @"NewResult%@.zip";
for (int i = 0; ; i++) {
NSString *filename = NULL;
if (i == 0) {
filename = [NSString stringWithFormat:filename, @""];
}
else {
filename = [NSString stringWithFormat:filename, [NSString stringWithFormat:@"%i", i]];
}
if (![[NSFileManager defaultManager] fileExistsAtPath:filename]) {
// Save file.
break;
}
}