В вашей функции didReceiveResponse
вы можете получить общий размер файла следующим образом -
_totalFileSize = response.expectedContentLength;
.
В вашей функции didReceiveData вы можете затем добавить до общего числа полученных байт счетчик -
_receivedDataBytes += [data length];
Теперь, чтобы установить индикатор выполнения на правильный размер, вы можете просто сделать -
MyProgressBar.progress = _receivedDataBytes / (float)_totalFileSize
(либо вdidReceiveData
функция или где-то еще в вашем коде)
Не забудьте добавить переменные, которые содержат количество байтов в вашем классе!
Вот как вы можете реализовать делегатов по порядкуобновить progressview
-(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];
}
Надеюсь, это поможет ..