首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当前在UINavigationContoller的viewController堆栈中的UIViewController是否会被卸载?

当前在UINavigationContoller的viewController堆栈中的UIViewController是否会被卸载?
EN

Stack Overflow用户
提问于 2011-06-02 00:18:52
回答 5查看 135关注 0票数 0

还有人能告诉我viewDidUnload和dealloc有什么区别吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-02 00:23:53

可以,如果发生内存警告,它可能会被卸载。

至于viewDidUnload和dealloc之间的区别--前者是在视图被卸载时调用的,通常是因为内存不足的情况。后者在对象的保留计数达到零时调用(即完全从内存中释放)

票数 0
EN

Stack Overflow用户

发布于 2011-06-02 00:26:26

viewDidUnload :当视图控制器需要释放其视图和与该视图关联的任何对象以释放内存时,在内存不足的情况下调用More

释放释放:释放接收方占用的内存,通过 NSObject协议方法间接调用对象的释放方法。More

票数 1
EN

Stack Overflow用户

发布于 2011-06-02 00:24:08

UIViewController永远不会卸载。他们拥有的UIView可以是。

因此,如果您的问题是,尽管UIView的控制器已被推送到导航控制器,但它是否可以卸载,答案是肯定的。只有当前显示的UIView不会被卸载(如果您不阻止卸载机制工作的话)。

此外,viewDidUnload是在UIViewController管理的视图已卸载时发送给它的消息,这通常与解除分配视图不同。事实上,当一个视图实际被释放时,它肯定会被卸载,但不会发送viewDidUnload

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6204423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档