在应用程序被终止时存储待处理的NSOperations

时间:2014-11-06 20:40:53

标签: ios iphone nsoperation appdelegate nsoperationqueue

我正在开发大文件的下载队列。我管理了NSOperations中正在下载或等待下载的NSOperationQueue,我还将其存储在NSMutableDictionary及其密钥中。

我想开发与PodCasts应用程序相同的功能。我的意思是,如果用户正在下载一些播客并完全杀死应用程序,如果他/她重新启动应用程序,则操作会继续下载。

那么,他们如何存储待处理的操作?我尝试使用NSDictionary存储待定NSOperations的{​​{1}},但由于userDefaults未实现NSOperation,因此无法执行此操作。

所以,我想知道哪种方法可以处理这种行为......?

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您可以创建一个存储下载进度的实体,同时继续在光盘上写入该文件。从网络层下载块时,更新实体的进度,然后在applicationWillTerminate回调中将进度存储回DB。然后,当您再次打开应用程序时,您可以根据下载进度从网络层请求下一个块。