- (void)viewDidAppear:(BOOL)animated {
<CODE BEFORE>
[super viewDidAppear:animated];
<CODE AFTER>
}
什么是正确的,在超级电话之前或之后放置所有代码? 它的工作方式是双向的,但我不知道最好是等到最后还是在最后提交它?
欢呼endo
答案 0 :(得分:9)
一般的经验法则是在设置时(比如这里)先调用它,然后在撕掉时将其调用。
答案 1 :(得分:3)
一般情况下,您的代码应该在调用super之后。一个明显的例外是dealloc,在这种情况下,你想在自己清理后调用[super dealloc]
。
答案 2 :(得分:1)
具体取决于具体情况:
显然,对于初始化/清理,由于子类依赖于它的超类状态,所以它应该在之前初始化并清理之前。
一般情况下,您可能需要在超级呼叫之前和之后添加行为,或者甚至完全省略超级呼叫(毕竟这是什么方法覆盖)。
在这个确切的情况下,请参阅其他答案;但由于viewDidAppear:
是类似通知的方法,它实际上取决于您的代码是需要一个完全初始化的对象,还是参与初始化本身,因此只有在完成后才能进行超级调用。
答案 3 :(得分:0)
这取决于你在做什么。你能提供一些关于你正在使用的对象的背景吗?
例如,在对象销毁的上下文中,您可以调用super last。
- (void)dealloc {
[someObj release];
[super dealloc];
}