1
-(void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:USERBOOKMARKANDLIKEOBTAINED object:nil];
}

つまり、オブザーバーはオブジェクトの割り当てが解除されたときにオブジェクトを削除しませんか? オブザーバーなどへの nil ポインティング ポインターを使用していると聞きました。または、通知がオブジェクトへの強力な参照を保持していることはどうですか。つまり、dealloc がとにかく呼び出されることはありません (メモリ リーク)。

それで、私がしていることは正しいですか?

ちなみにクラスはUIViewを継承しています。

4

1 に答える 1

1

つまり、オブジェクトがとにかく破壊されようとしているときに、オブザーバーはそれ自体を削除しませんか?

あなたが提供したコードを使用すれば、そうです。そうでなければ、そうではありません。(通知センターはオブジェクトの割り当てが解除されたことをどのように知るのでしょうか?)

于 2013-02-28T06:44:48.537 に答える