deinit {
// perform the deinitialization
}
es la respuesta correcta para Swift "dealloc".
Sin embargo, es bueno señalar nuevo en iOS 9 que NSNotificationCenter ya no necesita ser limpiado.
https://developer.apple.com/library/content/releasenotes/Foundation/RN-FoundationOlderNotes/index.html#X10_11Notes
NSNotificationCenter
En OS X 10.11 e iOS 9.0, NSNotificationCenter y NSDistributedNotificationCenter ya no enviarán notificaciones a los observadores registrados que puedan ser desasigados. Si el observador puede almacenarse como una referencia débil a cero, el almacenamiento subyacente almacenará al observador como una referencia débil a cero, alternativamente si el objeto no puede almacenarse débilmente (es decir, tiene un mecanismo personalizado de retención / liberación que evitaría el tiempo de ejecución de poder almacenar el objeto débilmente) almacenará el objeto como una referencia de puesta a cero no débil. Esto significa que los observadores no están obligados a anular el registro en su método de desasignación. La próxima notificación que se enrutará a ese observador detectará la referencia puesta a cero y automáticamente anulará el registro del observador. Si se puede hacer referencia débil a un objeto, las notificaciones ya no se enviarán al observador durante la desasignación; El comportamiento anterior de recibir notificaciones durante el Dealloc todavía está presente en el caso de los observadores de referencia de puesta a cero no débil. Los observadores basados en bloques a través del método - [NSNotificationCenter addObserverForName: object: queue: usingBlock] aún no deben registrarse cuando ya no estén en uso, ya que el sistema todavía tiene una fuerte referencia a estos observadores. La eliminación prematura de observadores (ya sea débilmente referenciada o referenciada a cero) todavía es compatible. CFNotificationCenterAddObserver no se ajusta a este comportamiento ya que el observador puede no ser un objeto. Los observadores basados en bloques a través del método - [NSNotificationCenter addObserverForName: object: queue: usingBlock] aún no deben registrarse cuando ya no estén en uso, ya que el sistema todavía tiene una fuerte referencia a estos observadores. La eliminación prematura de observadores (ya sea débilmente referenciada o referenciada a cero) todavía es compatible. CFNotificationCenterAddObserver no se ajusta a este comportamiento ya que el observador puede no ser un objeto. Los observadores basados en bloques a través del método - [NSNotificationCenter addObserverForName: object: queue: usingBlock] aún no deben registrarse cuando ya no estén en uso, ya que el sistema todavía tiene una fuerte referencia a estos observadores. La eliminación prematura de observadores (ya sea débilmente referenciada o referenciada a cero) todavía es compatible. CFNotificationCenterAddObserver no se ajusta a este comportamiento ya que el observador puede no ser un objeto.
pero tenga en cuenta los puntos a continuación sobre referencias fuertes, por lo que es posible que deba preocuparse por la limpieza de todos modos ...