【发布时间】:2012-10-11 19:43:20
【问题描述】:
在我的大部分代码中,我对 viewDidLoad 和 viewDidUnload 进行了以下设置:
- (void)viewDidLoad
{
[super viewDidLoad];
//do stuff...
}
- (void)viewDidUnload
{
[super viewDidUnload];
//do stuff...
}
但是,我想知道...调用 viewDidLoad 和 viewDidUnload 是否重要?每个人应该在我“做事”之前还是之后?
换句话说,每个都应该在方法的开头还是结尾?
编辑:更复杂的是,这是 Apple 的默认 viewDidUnload 方法,“似乎”建议首先调用 [super viewDidUnload]...
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
【问题讨论】:
-
方案是先调用超级构造函数,最后调用超级析构函数。
-
这取决于您是否觉得您的代码需要在
super类执行其操作之前运行。在这种情况下,只需先调用它。在最后调用 ARC[super dealloc]之前,因为在super销毁类之后使用该类没有意义(未定义的行为)。
标签: objective-c ios viewdidload viewdidunload