iOS 6向后兼容性

时间:2012-09-20 21:01:18

标签: cocoa-touch deprecated backwards-compatibility ios6

我想支持运行iOS 5和iOS 6的用户。但是在iOS 6中不推荐使用UIViewController的方法-viewDidUnload。那么我如何将它用于运行iOS5的用户,但是不适合运行iOS6的用户?

2 个答案:

答案 0 :(得分:6)

您可以在代码中继续使用此方法,但不会调用它。如果您真的希望调用它,可以在didReceiveMemoryWarning中调用它。实际上,也可以将代码移到旧iOS上。

您可能感兴趣的其他更改与轮换有关。您既可以实现新的iOS6方法,也可以保留旧的iOS6方法,并且不会相互干扰。

答案 1 :(得分:1)

虽然确实可以继续拨打viewDidUnload ...

来自WWDC的信息就是说你不应该只为iOS6情况提供viewWillUnloadviewDidUnload,但你应该继续将它删除以获取将要使用的代码适用于iOS 5和iOS 6。

苹果花花公子叙述WWDC幻灯片演示文稿的理由是苹果做了一些研究,并得出结论它解决了一类可以避免的崩溃问题,只处理了一小部分内存。

建议当前其中一个对您的应用程序绝对必要的内容应该出现在viewDidDisappear:animated:或dealloc(对于需要回放内存的大型共享内容),并且会出现很多情况下都没有必要。

(不是倡导者,只是转发我从WWDC材料中学到的关于这个主题的内容......)