¿Cómo se elimina un observador de un objeto en ARC? ¿Acabamos de agregar al observador y olvidarnos de eliminarlo? Si ya no gestionamos la memoria manualmente, ¿dónde renunciamos a la observación?KVO y ARC cómo quitar Observer
Por ejemplo, en un controlador de vista:
[self.view addObserver:self
forKeyPath:@"self.frame"
options:NSKeyValueObservingOptionNew
context:nil];
Anteriormente, yo llamaría removeObserver:
en el método de la controlador de vista dealloc
.
Tenga en cuenta que se trata de una muy mala idea MVA .Frame. Según lo escrito por los ingenieros de Apple en StackOverflow, la propiedad de marco de UIKit no es compatible con KVO. Cuando funciona, es solo por pura casualidad. – steipete
¿No debería su keyPath ser '@" frame "' en lugar de '@" self.frame "'? – Besi