我在编写 iPhone 应用程序时遇到了一个奇怪的错误。基本上,当我将我的应用程序留在后台,然后在很长一段时间后访问它(即我睡觉的整个晚上),viewDidLoad
即使我没有退出应用程序,该方法似乎也会被再次调用(我只是双击了主页按钮或我点击主页按钮一次)但仍将应用程序留在后台。但是,如果我将应用程序打开一小段时间(几分钟到几小时之间的任何时间),viewDidLoad
则不会再次调用该方法,并且一切正常。经过一番研究,我发现是因为viewDidUnload
调用了该方法(在OS发现应用程序长时间挂起之后),它调用了viewDidLoad
当我们重新启动应用程序时。我通过这个链接发现了这一点:view 似乎重新加载了自己,但似乎没有办法防止viewDidLoad
在调用时viewDidUnload
被调用。有什么办法可以防止这个viewDidUnload
方法再次被调用?问题是我希望我的应用程序在后台运行很长时间(即在后台运行几天)以收集数据。或者,有没有办法解决这个问题?任何帮助,将不胜感激。谢谢!
编辑:我意识到在 iOS 5 之后,viewDidUnload
不推荐使用,但这种现象仍然存在。关于如何解决它的任何想法?谢谢!