我不清楚如何处理以下情况...

假设您有一个ViewController需要执行长时间运行的操作。 ViewController调用performSelectorInBackground来启动长时间运行的操作,该操作完成后将依次调用performSelectorOnMainThread。现在,假设在长时间运行的操作期间View被释放了,这可能是因为用户在UINavigationController中向后导航。后台操作完成后,它将尝试向已释放的对象发送消息。

处理此问题的最佳方法是什么?我的要求是用户在操作过程中必须能够放弃屏幕,因此防止向后导航不是一种选择。

最佳答案

performSelectorInBackground保留接收者,这意味着您不会对已释放对象进行任何操作。

阅读有关它here

关于iphone - 使用后台线程时的iOS View Controller 生命周期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5363618/

10-11 22:29
查看更多