ビューコントローラーのメソッドで-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];
}
}