1

viewWillDisappear でオブジェクトを解放しても安全ですか? これらのオブジェクトが viewWillAppear で再び再作成されることを前提としています。

というわけで、こんな感じで書いています。そうすることで害はありますか?

- (void)dealloc {
    [self releaseObjects];
    [super dealloc];
}

- (void)releaseObjects {
    self.request = nil;
    self.loadingOverlay = nil;
    self.textView = nil;
    self.label = nil;
    self.endPoint = nil;
}

- (void)viewWillDisappear:(BOOL)iAnimated {
    [super viewWillDisappear:iAnimated];
    [self releaseObjects];
}
4

2 に答える 2

2

通常、変数が作成された関数の「コンパニオン」関数で変数を解放します。したがって、viewWillAppear で作成した場合は、viewWillDisappear で解放します。viewWillLoad、viewWillUnload でのリリースなど。

そうです、これは正常です。

于 2012-05-01T18:03:33.527 に答える
1

何も壊れてはいけませんが、無駄かもしれません... vcがタブ上にあり、ユーザーがタブを繰り返し切り替えるとしましょう。あなたは多くの余分な無料/割り当て作業を行うことになります。

異常にリソースを消費するものがない限り、OSに任せて、その目的のために作成されたフック(didReceiveMemoryWarning、deallocなど)を使用してメモリを解放する必要があることを通知します。

于 2012-05-01T18:05:33.297 に答える