업로드 요청에 대해 UIProgressView의 진행률 막대를 새로 고치려고합니다 (NSURLConnection
). 목표는 사진을 업로드하는 동안 진행률 막대를 새로 고치는 것입니다. 여러 검색 후,이 같은 진행 상황 확인하기 위해 내 연결 위임의 didSendBodyData
을 사용하여 관리 :NSURLConnection을 사용하여 업로드 할 때 진행 상황을 UIProgressView로 설정하십시오.
- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
{
if([self.delegate respondsToSelector:@selector(progressView)])
{
self.delegate.progressView.progress = (totalBytesWritten/totalBytesExpectedToWrite) * 100.0;
}
}
모든 것이 잘 작동하지만 문제는이 방법은 한 번만 호출됩니다입니다 ... 그래서 바 잠시 동안 0 %를 유지하고 중간없이 100 %로 즉시갑니다. 나는 (iOS6 develloper 도구를 사용하여 iPhone에서) 속도가 느린 연결에 연결을 설정하여 속도가 너무 빨라요. 내 업로드가 0 인 경우 잠시 시간을 내고 즉시 100 %로 이동합니다. 이 메서드는 한 번만 호출됩니다 ...
아무쪼록 바랍니다. 고맙습니다 ! 나는 그것을 고치는 방법을 생각할 수 없다 ...
네 고마워, 네, 여기 내 실수를 이해하지만, 문제는 이것이 아닙니다 ... 내 라인은 물론 거짓 이었지만, 문제는 NSLog가 메소드를 호출 할 때' bytesWritten','totalBytesWritten' 및'totalBytesExpectedToWrite'에서 메소드가 한 번만 호출되고 모든 값이'totalBytesWritten'과 동일하므로 진행률이 0에서 100까지만 나타납니다. –
@FabienParseError 아마도 데이터 작은 덩어리로 자르기에는 너무 작습니다. –
감사합니다. @ H2CO3! 그거였다 ! 나는 동시에 10 장의 그림을 올리려고 시도했다. 그리고 지금 진행 막대가 중간체를 표시한다). 그것을 유감스럽게 생각하고, 당신의 도움에 감사드립니다! –