Мое приложение загружает пакеты изображений с сервера.Это массив прямых ссылок (20-50 файлов) из XML.
Как мне убедиться, что весь набор изображений полностью загружен?
Как добавить условие, чтобы отменить всю загрузку (и удалить все уже загруженные файлы), если приложение было закрыто кнопкой iPhone?(такие методы есть в AppDelegate, в то время как весь мой код загрузки находится в некотором downloadviewcontroller.m)
Что еще мне нужно беспокоиться при загрузке нескольких файлов?(Всего 5-10 МБ)
Код, который я сейчас использую, не очень безопасен в случае прерывания загрузки или закрытия приложения.В фоновом потоке я вызываю этот метод для каждого файла:
(BOOL) loadImageFromURL:(NSString *)url withName:(NSString *)filename toFolder:(NSString *)folder {
NSURL *link = [NSURL URLWithString:url];
NSFileManager *manager = [NSFileManager defaultManager];
NSString *filepath = [folder stringByAppendingPathComponent:filename];
if ([manager fileExistsAtPath:filepath]) {
return YES;
}
else
{
UIImage *image = [[UIImage imageWithData:[NSData dataWithContentsOfURL:link]] retain];
NSData *data = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];
if ([data length] <= 0)
[image release];
return NO; // no data
else
{
[data writeToFile:filepath atomically:YES];
[image release];
return YES;
}
}
}