我见过一些Apple调用的例子[super viewDidUnload];
也有一些没有。我读过一篇文章(几个月前所以我不记得网址)说打电话[super viewDidUnload];
是不必要的,但除此之外没有解释。
是否有明确的理由为什么或为什么不告诉 superviewDidUnload
?
并且,(如果它should完成)在将我的所有属性设置为之前我是否调用 supernil
,之后,还是有关系吗?
- (void)viewDidUnload {
// Is this necessary?
// [super viewDidUnload];
self.tableDataSource = nil;
self.titleLabel = nil;
// Is it better to call super before or after nil'ing properties?
// [super viewDidUnload];
}
Thanks!
1-是否有明确的原因为什么或为什么不告诉super viewDidUnload?
老实说,我不知道不调用它的后果。你可以尝试不调用它,一切都会顺利进行,但想象一下苹果添加了一些重要的代码,这些代码将在以下情况下运行:[super viewDidUnload]
被称为,现在会发生什么?可能会发生不好的事情,你会花费宝贵的时间来解决你的问题。我的规则是:当覆盖时,调用 super。
2 - 我是否在将所有属性设置为 nil 之前、之后调用 super,还是有关系?
这确实很重要,当我打电话[super dealloc]
在释放我的对象之前。就像我看到我的 UI 很慢一样,因为我之前做了计算[super viewDidLoad]
。这始终取决于您想要实现的目标。
底线是我在项目中所做的事情viewDidUnload
is:
//发表我的观点
[超级viewDidUnload];
至于iOS6:
该方法已被弃用 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instm/UIViewController/viewDidUnload.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)