Estoy usando este código para recorrer una matriz para descargar varios archivos y escribir en el disco.AFnetworking descarga de varios archivos
-(void)download
{
//set url paths
for (NSString *filename in syncArray)
{
NSString *urlpath = [NSString stringWithFormat:@"http://foo.bar/photos/%@", filename];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlpath]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:filename];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
[operation start];
pero el problema es que llama el bloque de éxito después de cada archivo se hace, (que debería), pero sólo necesito una última llamada de vuelta para recargar algunos datos y finalizar un progreso HUD.
Cualquier apunta en la dirección correcta sería genial.
Oye, ¿A dónde llama esta función? En AppDelegate o en un controlador en particular? Además, ¿qué sucede si la aplicación se cierra antes de que termine la descarga? Gracias – manishKungwani