AFnetworking mehrere Dateien herunterladen

Ich verwende diesen code, um eine Schleife durch ein array mehrere Dateien herunterladen und auf die Festplatte schreibt.

-(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];

aber das problem ist, es ruft die Erfolg-block nach jeder Datei fertig ist, (was es sollte), aber ich brauche nur ein letzter Aufruf wieder zu laden einige der Daten und am Ende ein Fortschritt HUD.

Alle Zeiger in die richtige Richtung wäre toll.

  • Hey, Wo wollen Sie diese Funktion aufrufen? In der AppDelegate oder in einen bestimmten controller? Auch, was passiert, wenn die app beenden, bevor der download abgeschlossen ist? Dank
InformationsquelleAutor BigB | 2011-12-07
Schreibe einen Kommentar