2

아니요 사용 : ASIHTTPRequest, AFNetworking, RestKit.여러 파일을 다운로드하는 단일 ProgressView

나는 여러 개의 이미지/파일이 다운로드에 대한 웹 서비스에 비동기 호출을 통해 다운로드 할 수 있습니다. 나는 다운로드 중 SVProgressHUD (작동 표시, 하지)를 표시하고

.

이 시점까지 모든 것이 정상적으로 작동합니다.

내 고객은 다운로드 할 파일보기에서 단일 진행률 막대 (Bar)를 표시하여 사용자에게 대략적인 소요 시간을 알리 길 원합니다.

문제 :가 어떻게 파일에 대한 통합 시간/크기가 비동기을 다운로드하는 얻을 수 있습니다.

나는 그 목적에 부합하는 API를 사용하고 있습니다. 나는 여기에 의미가 있기를 바랍니다.

경도. 어떤 힌트?

+0

NSURLConnection을 사용하고 있습니까? – iSwaroop

+0

동일한 문제에 대한 해결책을 찾고 있습니다. 이 문제에 대해 어떤 접근 방식을 적용했는지 알려주십시오. – viral

+0

여기에 2000 개 이상의 파일이 있습니다. 훨씬 더있을 수 있습니다. – Anon

답변

1

하나의 옵션은 "머리"요청을 포함한 모든 파일의 길이를 얻은 다음 직접 계산합니다 : 데이터 총 크기/총 데이터 길이.

이 게시물은 전체 콘텐츠 길이를 얻을하는 데 도움이 될 것입니다 : Objective-c Check file size from URL without downloading

다른 옵션 - 별도의 스레드에서 각 파일을 다운로드를 시작하고 통합 시간을 얻기 위해 공유 변수를 사용합니다.

희망이 도움이됩니다.

+0

"머리"요청을 받고 있지 않습니다. 자세히 설명해 주시겠습니까? 전체 바이트 수를 얻는 데 필요한 별도의 웹 서비스가 필요하다고 말하는 것입니까? – Anon

+0

또한 각 파일에 대해 "머리"를 얻는 데 너무 많은 시간을 소비하지 않습니까? 우리는 2000 개 정도의 파일에 대해 이야기하고 있습니다. – Anon

+0

시간이 좀 걸릴 수 있지만 많은 파일을 다운로드하면 비교적 짧습니다. –

3

NSProgress을 보시면 UIKit 클래스는 아니지만 NSProgress의 여러 인스턴스 (각 활동마다 하나씩)를 작성한 다음 UI에 연결할 수있는 결합 된 진행 값을 얻을 수 있습니다.

이 예제와 함께 여기에 대한 좋은 쓰기 최대 : http://oleb.net/blog/2014/03/nsprogress/

당신은 기본적으로 KVO가 진행 값을 읽고 다음 UI 요소 즉 진행률 표시 줄을 업데이트하는 데 사용할.

+0

나는 그것을 조사하고 어떻게되는지 알려줄 것이다 ... 고마워. – Anon

+0

@Camsoft 좋은 제안. 'NSProgress'또는 Github Project에 대해 알고있는 작업 자습서가 있습니까? – viral