我想同时支持运行 iOS5 和 iOS6 的用户。但是例如UIViewController
's 方法-viewDidUnload
在 iOS6 中已被弃用。那么我如何将它用于运行 iOS5 的用户,而不是运行 iOS6 的用户呢?
问问题
940 次
2 回答
6
您可以继续在代码中使用此方法,只是不会调用它。如果你真的希望调用它,你可以在didReceiveMemoryWarning
. 事实上,也可以将旧 iOS 的代码移到那里。
您可能感兴趣的其他更改与轮换有关。您可以实现新的 iOS6 方法,也可以保留旧的方法,它们不会相互干扰。
于 2012-09-20T21:07:28.193 回答
1
虽然确实可以继续打电话给viewDidUnload
……</p>
来自 WWDC 讨论的信息是,您不仅不应该拥有viewWillUnload
iOS6viewDidUnload
的情况,而且应该继续将其删除以用于将用于 iOS 5 和 iOS 6 的代码。
讲述 WWDC 幻灯片演示的苹果花花公子给出的理由是,苹果做了一些研究,并得出结论,它解决了一整类可以避免的崩溃问题,并且只处理了少量内存。
建议是,当前其中之一对您的应用程序绝对必要的任何内容都可能出现在 viewDidDisappear:animated: 或 dealloc 中(对于需要回馈内存的大型共享内容),并且会有很多情况两者都不是必需的。
(不是倡导者,只是转发我从 WWDC 材料中学到的关于该主题的知识……)
于 2012-09-25T08:23:18.493 回答