2014-11-06 1 views
1

큰 파일의 다운로드 대기열을 개발 중입니다. NSOperationQueue에서 다운로드 중이거나 다운로드 대기중인 NSOperations을 관리하며 키를 사용하여 NSMutableDictionary에 저장합니다.응용 프로그램이 종료 될 때 보류중인 NSOperations 저장

PodCasts 앱과 동일한 기능을 개발하고 싶습니다. 사용자가 일부 Podcast를 다운로드하고 앱을 완전히 종료하는 경우 앱을 다시 시작하면 작업이 계속 다운로드됩니다.

그래서 보류중인 작업을 어떻게 저장합니까? 내가 userDefaults을 사용하여 NSOperations을 보류 중 NSDictionary을 저장하려했으나 NSOperationNSCopying을 구현하지 않았기 때문에 그렇게 할 가능성이 없습니다.

그래서 어떤 행동이 가장 좋은 방법인지 알고 싶습니다 ...?

아이디어가 있으십니까?

감사합니다.

답변

0

디스크에 해당 파일을 계속 기록하는 동안 다운로드 진행률을 저장하는 엔티티를 만들 수 있습니다. 네트워킹 레이어에서 청크를 다운로드 한 다음 엔터티 진행률을 업데이트 한 다음 applicationWillTerminate 콜백에서 진행률을 다시 DB에 저장합니다. 그런 다음 응용 프로그램을 다시 열면 다운로드 진행률에 따라 네트워킹 계층에서 다음 청크를 요청할 수 있습니다.