ビューコントローラーのメソッドで-addObserverForName: object: queue: usingBlock:
forを使用すると、メソッドが呼び出されなくなります。 NSNotificationCenter
-viewDidLoad:
-dealloc
( を削除する-addObserverForName: object: queue: usingBlock:
と、-dealloc
が再度呼び出されます。)
使用-addObserver: selector: name: object:
してもこの問題はないようです。私は何を間違っていますか?(私のプロジェクトは ARC を使用しています。)
ここで何か間違ったことをしている場合に備えて、以下は私の実装の例です。
[[NSNotificationCenter defaultCenter] addObserverForName:@"Update result"
object:nil
queue:nil
usingBlock:^(NSNotification *note) {
updateResult = YES;
}];
助けてくれてありがとう。
私は以下を追加しようとしました(無駄に):
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if ([self isMovingFromParentViewController]) {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
}