我在非 ARC 应用程序中动态更改窗口的 rootViewController。
我的问题是我需要释放之前分配的 rootViewController 吗?以前分配的 rootViewController 如何管理内存?
我的第二个问题是关于 newrootViewController 的。我如何为窗口的新 rootViewController 管理内存。
任何帮助将不胜感激......
最佳答案
Jason 在上面的评论中是正确的,实际上很少有理由不使用 ARC。自动引用计数与手动引用计数一样高效,甚至更高。
记住这不是垃圾回收,保留和释放语句只是在编译时添加的。
要回答您的问题,如果您在 rootViewController 上调用了 alloc
/new
或 copy
那么是您必须释放之前分配的 Controller 。
请记住,内存管理势利小人并不是不使用 ARC 的充分理由! ;)
关于 newRootViewController 对象,一旦您将其设为窗口的“ Root View Controller ”,窗口就会保留它,因此您可以随后释放它。
也看看这个问题:Retaining rootViewController?
关于ios - 更改窗口的 rootViewController 的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23101595/