【问题标题】:should I call the [super superMethod] after my own code or before it?我应该在我自己的代码之后还是之前调用 [super superMethod]?
【发布时间】:2011-09-16 07:35:16
【问题描述】:

[对不起我的英语不好]

问题很简单(但我在表达和在谷歌中找到它时遇到了麻烦)......

我应该(在所有类似的情况下,当我覆盖超级方法时,不仅仅是这个)使用:

- (void)viewDidLoad
{
    /*
       my code
     */

    [super viewDidLoad];
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    /*
       my code
     */
}

还是取决于?

【问题讨论】:

  • 一般来说,super 调用应该在“建立”时在例程的开始,在“拆除”时在结束。

标签: objective-c ios oop


【解决方案1】:

在某些情况下,顺序无关紧要。在其他情况下,秩序至关重要。

一些有帮助的概括:

  • 在构造对象状态的一部分(viewDidLoadinit...)时,首先调用super
  • 当您要破坏对象状态的一部分(viewDidUnloaddealloc)时,最后调用 super
  • 如果我确定订单无关紧要,那么我只需先致电super 以方便组织。

【讨论】:

    【解决方案2】:

    这取决于方法;例如-[super init](之前)与-[super dealloc](之后)。

    【讨论】:

    • 好吧 TNX,但也许有人应该在这里多谈谈这个话题:)
    猜你喜欢
    • 2011-07-04
    • 2014-04-01
    • 2014-02-28
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多