В вашей функции didReceiveResponse вы можете получить общий размер файла следующим образом:
_totalFileSize = response.expectedContentLength;
.
В вашей функции didReceiveData вы можете добавить к общему счетчику полученных байтов:
_receivedDataBytes += [data length];
Теперь, чтобы установить индикатор выполнения на правильный размер, вы можете просто сделать:
MyProgressBar.progress = _receivedDataBytes / (float)_totalFileSize
(либо в функции didReceiveData, либо где-то еще в вашем коде)
Не забудьте добавить переменные, содержащие количество байтов, в ваш класс!
Надеюсь, это поможет ..
РЕДАКТИРОВАТЬ: Вот, как вы могли бы реализовать делегатов для обновления прогресса просмотра
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
_totalFileSize = response.expectedContentLength;
responseData = [[NSMutableData alloc] init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
_receivedDataBytes += [data length];
MyProgressBar.progress = _receivedDataBytes / (float)_totalFileSize;
[responseData appendData:data];
}