我的应用程序中的一个视图控制器允许从服务器下载文件。但是用户可以导航到此视图控制器,点击“下载”按钮,然后返回到前一个视图控制器。如果他们再次导航到具有“下载”按钮的视图控制器,他们应该看到进度,甚至看到下载已完成。
所以在我看来,视图控制器本身不能保存对Download操作的任何引用,我认为它是NSOperation的一个子类,可以处理NSURLConnection的东西,也不是它的NSOperationQueue的所有者操作被添加到。
这种情况不需要单独的下载管理器吗?我经常看到单身人士气馁,但我怎么会这样呢?同样,可以在可以随时解除分配的视图控制器中启动下载。下载开始后,无论用户是否离开屏幕,都应该完成下载。我想将所有内容直接下载到磁盘(不在内存中)。然后,当用户访问所述视图控制器时,我会检查下载管理器以查看相关下载是否已完成,正在进行或从未开始下载。
答案 0 :(得分:2)
我会使用单身人士。只需要小心你在使用单身人士的时间/地点。在使用之前保持谨慎并考虑这种情况。
请小心处理下载进度/完成的回调,因为单例将比发出请求的视图控制器更长。视图控制器需要适当地管理它们的“观察”。
答案 1 :(得分:0)