我正在开发大文件的下载队列。我管理了NSOperations
中正在下载或等待下载的NSOperationQueue
,我还将其存储在NSMutableDictionary
及其密钥中。
我想开发与PodCasts应用程序相同的功能。我的意思是,如果用户正在下载一些播客并完全杀死应用程序,如果他/她重新启动应用程序,则操作会继续下载。
那么,他们如何存储待处理的操作?我尝试使用NSDictionary
存储待定NSOperations
的{{1}},但由于userDefaults
未实现NSOperation
,因此无法执行此操作。
所以,我想知道哪种方法可以处理这种行为......?
有什么想法吗?
谢谢!
答案 0 :(得分:0)
我认为您可以创建一个存储下载进度的实体,同时继续在光盘上写入该文件。从网络层下载块时,更新实体的进度,然后在applicationWillTerminate回调中将进度存储回DB。然后,当您再次打开应用程序时,您可以根据下载进度从网络层请求下一个块。