los observadores de valores clave todavía estaban registrados cuando el controlador se desasigna

Agregué un observador en el código y luego lo eliminé en dealloc y viewWillDisappear pero aún recibo un error que indica

*** Aplicación finalizada debido a la excepción no detectada 'NSInternalInconsistencyException', razón: 'Una instancia 0x167e5980 de la clase MyController2 fue desasignada mientras los observadores de valores clave todavía estaban registrados con ella.

Current observation info: <NSKeyValueObservationInfo 0x16719f90> (
<NSKeyValueObservance 0x16719fb0: Observer: 0x167e5980, Key path: dataContainer.report, Options: <New: YES, Old: YES, Prior: NO> Context: 0x0, Property: 0x1677df30>
)'

Creé un controlador,MyController y derivar un nuevo controladorMyController2 de eso. Ahora agregué KVO enMyController2.

- (void)viewDidLoad {
    [super viewDidLoad];
    [self addObserver:self forKeyPath:@"dataContainer.report" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
}

Luego, en observeValueForKeyPath: -

- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {

    id oldC = [change objectForKey:NSKeyValueChangeOldKey];
    id newC = [change objectForKey:NSKeyValueChangeNewKey];

    if([keyPath isEqualToString:@"dataContainer.report"]) {
        if (oldC != newC) {
            //Remove Observer

            [self removeObserver:self forKeyPath:@"dataContainer.report" context:nil];
            [self updateDataContainer];
            [self reportView];
        }
    }
}

Luego intenté eliminar observador en viewWillDisappear y dealloc ambos: -

- (void)dealloc {
    @try{
        [self removeObserver:self forKeyPath:@"dataContainer.report" context:nil];
    }@catch(id anException){
    }
}

-(void) viewWillDisappear:(BOOL)animated{
    @try{
        [self removeObserver:self forKeyPath:@"dataContainer.report" context:nil];
    }@catch(id anException){
    }
    [super viewWillDisappear:animated];
}

Observé la pérdida de publicaciones, todas dicen una cosa que debes eliminar al observador. Traté de eliminar al observador de ambos, pero aún así estoy recibiendo el problema.

Respuestas a la pregunta(3)

Su respuesta a la pregunta