Anzeigen des Dateidownloadfortschritts mit NSURLSessionDataTask

Ich möchte den Fortschritt des Dateidownloads (wie viele Bytes empfangen werden) einer bestimmten Datei anzeigen. Es funktioniert gut mit der NSURLSessionDownloadTask. Meine Frage ist, ich möchte das gleiche mit der NSURLSessionDataTask erreichen.

Hier ist der Code, der die Datei in NSData empfängt und in den Dokumentordner schreibt:

NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];

NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: self delegateQueue: [NSOperationQueue mainQueue]];

NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithURL:theRessourcesURL
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{ 
       if(error == nil)
       {

            NSString *docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

               NSString *pathToDownloadTo = [NSString stringWithFormat:@"%@/%@", docsDir, Name];

               NSLog(@"SIZE : %@",[NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);

               [data writeToFile:pathToDownloadTo options:NSDataWritingAtomic error:&error];
       }
}];

[dataTask resume];

Ich erhalte die Dateigröße nach dem Schreiben oder der vollständigen Datenaufgabe (nachdem die Datei empfangen wurde):

NSLog(@"SIZE : %@",[NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);

Aber ich möchte den aktuellen Status der empfangenen Bytes anzeigen. Ist dies mit NSURLSessionDataTask möglich?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage