我应该调用[super viewDidDisappear:animated]; 在viewDidDisappear的开头或结尾:

ppa*_*ica 3 model-view-controller objective-c uiviewcontroller ios

我重构了一些有人在3年多前为iOS写过的Objective-C代码.我看到viewDidDisapppear:方法被这样重写:

- (void)viewDidDisappear:(BOOL)animated
{
    [pagingView unloadData];

    [super viewDidDisappear:animated];
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我想知道,行:

[super viewDidDisappear:animated];
Run Code Online (Sandbox Code Playgroud)

应该在结尾或开头.

我知道viewDidAppear:这是一个很好的做法:

[super viewDidAppear:animated];
Run Code Online (Sandbox Code Playgroud)

作为第一线.

另外,我知道dealloc(如果我们不使用ARC),我们写道:

[super dealloc];
Run Code Online (Sandbox Code Playgroud)

在末尾.

所以我在viewDidDisapppear:的情况下有点困惑,它应该在哪里.对我来说最后调用超类的方法是有道理的,但我有点困惑,不确定它是否是好的练习.

如果您知道确切的答案,请告诉我.

提前致谢!!!

Mic*_*ann 5

基本上你想要在调用超级视图之前删除所有viewDidDisappear内容,否则可能会nil从你的下方意外地释放(或设置为或等等).

此外,您不打电话给[super dealloc]ARC.