AFNetworking setUploadProgressBlock no comportándose va directamente al 100%

Estoy utilizando el Marco AFNetworking para facilitar la carga de fotos en un website. Las cargas funcionan bien, pero necesito mostrar el progreso en una UIProgressView. El problema es que el progreso se mueve del 0 al 100% un segundo más o less después de que la carga comience y se sitúe al 100% durante un time, dependiendo de la cantidad de fotos que se carguen. Subo entre 1 y 6 fotos a la vez con una sola request. ¿Alguna idea de lo que está pasando aquí? ¿AFNetworking no incluye el tamaño de las fotos?
Se muestra correctamente en NSLOG:

2012-04-03 10:49:45.498 PhotoUp[3689:2207] Sent 32768 of 217931 bytes 2012-04-03 10:49:45.499 PhotoUp[3689:2207] Sent 65536 of 217931 bytes 2012-04-03 10:49:45.501 PhotoUp[3689:2207] Sent 98304 of 217931 bytes 2012-04-03 10:49:45.502 PhotoUp[3689:2207] Sent 131072 of 217931 bytes 2012-04-03 10:49:47.795 PhotoUp[3689:2207] Sent 134310 of 217931 bytes 2012-04-03 10:49:49.070 PhotoUp[3689:2207] Sent 136730 of 217931 bytes 2012-04-03 10:49:50.819 PhotoUp[3689:2207] Sent 139150 of 217931 bytes 2012-04-03 10:49:52.284 PhotoUp[3689:2207] Sent 141570 of 217931 bytes 

Aquí está el código:

 NSString *numberOfPhotosAsString = [NSString stringWithFormat:@"%d", numberOfPhotos]; NSString *fileBase = @"file0_"; NSString *fileNameBase = @"SourceName_"; NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com"]; AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: numberOfPhotosAsString, @"PackageFileCount", wtID, @"wtID", @"PU", @"type", nil]; for (int i= 0; i < numberOfPhotos; i++) { [params setObject:[fileNames objectAtIndex:i] forKey:[fileNameBase stringByAppendingFormat:@"%i", i]]; } NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/ReceivePhoto.aspx" parameters:params constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { for (int i = 0; i < numberOfPhotos; i++) { // may want to experiment with the compression quality (0.5 currently) NSData *imageData = UIImageJPEGRepresentation([images objectAtIndex:i], 0.5); [formData appendPartWithFileData:imageData name:[fileBase stringByAppendingFormat:@"%i", i] fileName:[fileNames objectAtIndex:i] mimeType:@"image/jpeg"]; } }]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; [operation setUploadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) { NSLog(@"Sent %d of %d bytes", totalBytesWritten, totalBytesExpectedToWrite); float progress = totalBytesWritten / totalBytesExpectedToWrite; [selectLabel setText:[NSString stringWithFormat:@"%d", progress]]; [progressView setProgress: progress]; //[testProgressView setProgress:progress]; }]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { [self imageRequestDidFinish]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"error: %@", operation.responseString); } ]; 

Esta línea hace una split entera:

 float progress = totalBytesWritten / totalBytesExpectedToWrite; 

Necesita lanzar al less un operando para flotar:

 float progress = totalBytesWritten / (float)totalBytesExpectedToWrite;