gpt4 book ai didi

objective-c - 我需要调用[super viewDidUnload]吗?

转载 作者:可可西里 更新时间:2023-11-01 05:10:37 25 4
gpt4 key购买 nike

我见过一些调用 [super viewDidUnload];Apple 示例,有些则不调用。我读了一篇文章(几个月前所以我不记得网址了)说调用 [super viewDidUnload]; 是不必要的,但除此之外没有解释。

是否有明确的理由说明为什么或为什么不告诉 super viewDidUnload
而且,(如果它应该完成)我是在将所有属性设置为 nil 之前调用 super,还是在之后调用 super,这有关系吗?

- (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];
}

谢谢!

最佳答案

1- 是否有明确的理由为什么或为什么不告诉 super viewDidUnload?

老实说,我不知道不调用它的后果。您可以尝试不调用它并且一切正常,但想象一下 Apple 添加了一些重要的代码,这些代码将在调用 [super viewDidUnload] 时运行,现在会发生什么?坏事可能会发生,你会花费宝贵的时间来解决你的问题。我的规则是:覆盖时,调用 super 。

2 - 我是在将我的所有属性设置为 nil 之前调用 super,还是在之后调用 super,这有关系吗?

这很重要,当我在释放我的对象之前调用 [super dealloc] 时,我看到了不好的事情发生。同样,我看到我的 UI 很慢,因为我在 [super viewDidLoad] 之前进行了计算。它始终取决于您想要实现的目标。

最重要的是,我在我的项目中为 viewDidUnload 所做的是:

//release my views

[super viewDidUnload];

对于 iOS6:

The method has been deprecated .

关于objective-c - 我需要调用[super viewDidUnload]吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7730345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com