iphone ios objective-c cocoa-touch automatic-ref-counting

iphone - ¿Se necesita NSNotificationCenter removeObserver en ARC?



ios objective-c (1)

Deberías eliminar explícitamente al observador incluso si usas ARC . Cree un método dealloc y elimínelo ..

-(void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; }

Si ve el método, no necesita llamar a [super dealloc]; aquí, solo se necesita el método sin super dealloc.

ACTUALIZAR para Swift

Puede eliminar el observador en el método deinicio si está escribiendo código rápidamente.

deinit { NSNotificationCenter.defaultCenter().removeObserver(self) }

Esta pregunta ya tiene una respuesta aquí:

¿Agregar un observador aumenta el conteo de retención de un objeto? En caso afirmativo, ¿ARC maneja la eliminación de este observador también? Si no, ¿dónde debería eliminar al observador?