我希望同时支持运行iOS5和iOS6的用户。例如,UIViewController的-viewDidUnload方法在iOS6中就被弃用了,那么我该如何将其用于运行iOS5的用户,而不是运行iOS6的用户呢?
发布于 2012-09-21 05:07:28
你可以继续在你的代码中使用这个方法,只是它不会被调用。如果你真的希望调用它,你可以在didReceiveMemoryWarning中调用它。实际上,也可以将旧iOS的代码移到那里。
您可能感兴趣的其他更改与旋转相关。您既可以实现新的iOS6方法,也可以保留旧的方法,并且它们不会相互干扰。
发布于 2012-09-25 16:23:18
虽然确实可以继续调用viewDidUnload…
来自WWDC演讲的信息是,你不仅不应该在iOS6情况下使用viewWillUnload和viewDidUnload,而且应该继续为同时用于iOS 5和iOS 6的代码删除它。
苹果的家伙在讲述WWDC幻灯片演示时给出的理由是,苹果做了大量的研究,得出的结论是它解决了一整类本可以避免的崩溃,而且只处理了很小的内存。
我们的建议是,任何当前对你的应用程序来说绝对必要的东西都应该出现在viewDidDis现中:animated:或者dealloc中(对于需要释放内存的大型共享内容),并且在许多情况下这两者都不是必要的。
(不是倡导者,只是传达我从WWDC关于…主题的材料中学到的东西)
https://stackoverflow.com/questions/12520864
复制相似问题