我的应用程序中的一个视图控制器允许从服务器下载文件。但是用户可以导航到这个视图控制器,点击“下载”按钮,然后返回到之前的视图控制器。如果他们再次导航到具有下载按钮的视图控制器,他们应该会看到进度,甚至看到下载已完成。
所以在我看来,视图控制器本身不能包含对下载操作的任何引用,我认为这将是 NSOperation 的子类,可以处理 NSURLConnection 的东西,也不能是操作获取的 NSOperationQueue 的所有者添加到。
这种情况不需要单例下载管理器吗?我经常看到单身人士气馁,但我还能怎么做呢?同样,可以在可以随时释放的视图控制器中启动下载。一旦开始下载,无论用户是否离开屏幕,它都应该完成。我想将所有内容直接下载到磁盘(不在内存中)。然后,当用户来到所述视图控制器时,我会检查下载管理器以查看相关下载是否已完成、正在进行或从未开始下载。