这个问题在这里已经有了答案:
Best Answer-推荐答案 strong>
我的一般经验法则是,构造/创建行为首先通过 super
调用,而破坏或拆除状态的行为以相反的顺序发生 - super
是最后调用。很少需要偏离这一点。
原因通常不是优化(如您的帖子中所问),而是可预测的语义。
示例 A:
build :
- (id)init
{
self = [super init]; // << set up super
if (0 != self) {
// set up self
...
破坏:
- (void)dealloc
{
[ivar release], ivar = 0; // << tear down self
[super dealloc]; // << tear down super
示例 B:
build :
- (void)viewWillAppearBOOL)pAnimated
{
[super viewWillAppear:pAnimated]; // << call through super first
// now set up self
...
破坏:
- (void)viewDidDisappearBOOL)pAnimated
{
// tear down self
[super viewDidDisappear:pAnimated]; // << now tear down super
关于objective-c - 子类中的父类(super class)方法放置,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/12345512/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) |
Powered by Discuz! X3.4 |