首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可可中的超级viewDidUnload

可可中的超级viewDidUnload
EN

Stack Overflow用户
提问于 2010-07-23 02:27:20
回答 2查看 462关注 0票数 1

在函数viewDidUnload中,它最初是空的。然而,我遵循了一个教程,在函数的末尾,他们编写了超级viewDidUnload。我注意到在dealloc函数中,super会在最后自动写入。为什么不在viewDidUnload的末尾自动编写?有什么不同吗?是干什么的呢?

另外,这是一个Cocoa问题,还是Objective-C问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-23 02:39:52

这个链接可能会有帮助:iPhone: [super viewDidUnload] calling order

基本上,如果超类只是UIViewController[UIViewController viewDidUnload]什么也不做,所以这就是为什么不自动添加它。

票数 3
EN

Stack Overflow用户

发布于 2012-07-14 14:09:39

在函数的末尾调用它。

当我一开始调用时,我遇到了很多杂乱的错误。我发现网上有很多地方都在讨论这个话题,有的说是开头,有的说是结尾。在我研究之前,我认为应该在最后调用它,因为语言的结构和性质(例如如何处理触摸事件)的模式相似。

我的逻辑表明,如果我要调用有问题的对象的父对象或父对象,我还必须认为父对象或父对象在其默认实现中不会知道子对象的存在,谁知道它会做什么。因此,当重写此方法时,合理的想法是,当将outlets和属性设置为nil时,超级的unload方法可能会在这些outlets仍然存在的情况下在视图控制器中卸载视图。

由于我发现了所有的问题和答案,没有明确的解决方案。Apple没有给出直接的答案,但他们提供了对视图加载和卸载如何发生的理解。我不再寻找这个例子了,我坚持在这个函数的末尾调用super背后的逻辑。

我不会做的是假设我可以猜到在私有API中运行的是什么代码,并且除苹果文档或苹果开发人员之外的任何人都会有正确的答案。然而,这是我的建议,基于我的经验,也许正确的答案是,它应该要么/要么取决于你在方法中做了什么。欢迎更多的建议。

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

https://stackoverflow.com/questions/3312107

复制
相关文章

相似问题

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