View Controller-Freigabe wird bei Verwendung der NSNotificationCenter-Codeblockmethode mit ARC nicht aufgerufen

Wenn ich benutze-addObserverForName: object: queue: usingBlock: zumNSNotificationCenter in dem-viewDidLoad: Methode meines View Controllers, die-dealloc Methode wird nicht aufgerufen.

(Wenn ich entferne-addObserverForName: object: queue: usingBlock:, -dealloc wird erneut angerufen.)

Verwenden-addObserver: selector: name: object: scheint dieses Problem nicht zu haben. Was mache ich falsch? (Mein Projekt verwendet ARC.)

Nachfolgend finden Sie ein Beispiel für meine Implementierung, falls ich hier etwas falsch mache:

[[NSNotificationCenter defaultCenter] addObserverForName:@"Update result"
                                                  object:nil
                                                   queue:nil
                                              usingBlock:^(NSNotification *note) {
                                                  updateResult = YES;
                                              }];

Vielen Dank im Voraus für jede Hilfe.

Ich habe versucht, Folgendes hinzuzufügen (ohne Erfolg):

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    if ([self isMovingFromParentViewController]) {
        [[NSNotificationCenter defaultCenter] removeObserver:self];
    }
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage