objective-c - 我应该在我自己的代码之后还是之前调用 [super superMethod]?

标签 objective-c ios oop

[抱歉我的英语不好]

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

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

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

    [super viewDidLoad];
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    /*
       my code
     */
}

还是取决于?

最佳答案

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

一些有帮助的概括:

  • 当您构建对象状态的一部分(viewDidLoadinit...)时,通过super 调用首先。
  • 当您破坏对象状态的一部分(viewDidUnloaddealloc)时,通过super 调用最后。
  • 如果我确定顺序无关紧要,那么我就通过 super 调用电话首先是为了更容易组织。

关于objective-c - 我应该在我自己的代码之后还是之前调用 [super superMethod]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7441519/

相关文章:

iPhone SDK : How to extract specific text from a textview?

android - 移动设备上的本地语音命令识别

ios - 根据indexPath.section和indexPath.row判断多维结构的cell类型

ios - 构造为 ViewModel

python - 在Python中,无需重写父类即可更改继承行为

objective-c - 将 UITextView 框架设置为内容大小在 Xcode 5 中不再有效

iphone - NavigationBar 图层渐变效果不佳

ios - 将 XML 文件中的链接加载到 UIWebView(SIGABRT 错误)

java - 对象 o = makeMeAnObjectPlease(); 之间的区别和 Object o = new Object();

php - 网站的 OO 还是程序化 PHP?