【问题标题】:Obj-C: call super classObj-C:调用超类
【发布时间】:2011-01-20 17:33:26
【问题描述】:
- (void)viewDidAppear:(BOOL)animated {
<CODE BEFORE>
[super viewDidAppear:animated];
<CODE AFTER>
}
什么是正确的,将所有代码放在 super 调用之前或之后?
它的工作方式是双向的,但我不知道是等到电话结束还是在开始时提交更好?
干杯
【问题讨论】:
标签:
iphone
objective-c
oop
super
【解决方案1】:
一般的经验法则是在设置时首先调用它(如这里)并在拆除时最后调用它。
【解决方案2】:
一般来说,您的代码应该在调用 super.一个明显的例外是 dealloc,在这种情况下,您想在自己清理完之后调用 [super dealloc]。
【解决方案3】:
这要看具体情况,真的:
在这种情况下,请参阅其他答案;但由于viewDidAppear: 是一种类似通知的方法,它实际上取决于您的代码是否需要完全初始化的对象,或者参与初始化本身,因此必须在完成后才继续进行超级调用。
【解决方案4】:
这取决于你在做什么。你能提供一些关于你正在使用的对象的上下文吗?
例如,在对象销毁的上下文中,你最后调用super。
- (void)dealloc {
[someObj release];
[super dealloc];
}