我有一个ViewController被推到NavigationController堆栈。一旦它被推入堆栈,它就开始下载一些图像,通过一个下载器对象来负责下载后台线程中的图像。图像可能需要几秒钟,即使通过WiFi下载。当图像完成下载时,下载器对象指示ViewController布置其图像,将新下载的图像放到分页的UIScrollView的背面。然而,在这段时间内,用户可能已经按下“后退”按钮,并且ViewController现在可能已被释放/解除分配,因此下载器对象将导致SIGABRT错误消息,并且应用程序将崩溃。如何处理ViewController被释放后,射出背景线程,现在释放ViewController?
我应该如何处理这种情况?有没有办法检查释放/释放的实例?或者以某种方式来捕捉错误和日志,然后忽略它呢?
也许在某些情况下,这将会很有用,但我实际上将下载的数据存储在数据库中,无论它是否显示成功,因此终止下载实际上会反作用 - 感谢提示,尽管使用通知而不是代表可能会在某些时候有用。 –