deinit {
// perform the deinitialization
}
é a resposta correta para Swift "dealloc".
No entanto, é bom ressaltar que, no iOS 9, o NSNotificationCenter não precisa mais ser limpo!
https://developer.apple.com/library/content/releasenotes/Foundation/RN-FoundationOlderNotes/index.html#X10_11Notas
NSNotificationCenter
No OS X 10.11 e iOS 9.0, o NSNotificationCenter e o NSDistributedNotificationCenter não enviarão mais notificações aos observadores registrados que possam ser desalocados. Se o observador puder ser armazenado como uma referência de zeragem fraca, o armazenamento subjacente armazenará o observador como uma referência de zeragem fraca, alternativamente, se o objeto não puder ser armazenado de forma fraca (ou seja, ele possui um mecanismo de retenção / liberação personalizado que impediria o tempo de execução de poder armazenar o objeto de maneira fraca) ele armazenará o objeto como uma referência de zeragem não fraca. Isso significa que os observadores não precisam cancelar o registro em seu método de desalocação. A próxima notificação que seria roteada para esse observador detectará a referência zerada e cancelará o registro automaticamente do observador. Se um objeto puder ser pouco referenciado, as notificações não serão mais enviadas ao observador durante a desalocação; o comportamento anterior de receber notificações durante o desastre ainda está presente no caso de observadores de referência com zeragem não fraca. Observadores baseados em bloco por meio do método - [NSNotificationCenter addObserverForName: object: fila: usingBlock] ainda precisam ser não registrados quando não estiverem mais em uso, pois o sistema ainda mantém uma forte referência a esses observadores. A remoção precoce de observadores (com referência fraca ou com referência a zero) ainda é suportada. CFNotificationCenterAddObserver não está em conformidade com esse comportamento, pois o observador pode não ser um objeto. Observadores baseados em bloco por meio do método - [NSNotificationCenter addObserverForName: object: fila: usingBlock] ainda precisam ser não registrados quando não estiverem mais em uso, pois o sistema ainda mantém uma forte referência a esses observadores. A remoção precoce de observadores (com referência fraca ou com referência a zero) ainda é suportada. CFNotificationCenterAddObserver não está em conformidade com esse comportamento, pois o observador pode não ser um objeto. Observadores baseados em bloco por meio do método - [NSNotificationCenter addObserverForName: object: fila: usingBlock] ainda precisam ser não registrados quando não estiverem mais em uso, pois o sistema ainda mantém uma forte referência a esses observadores. A remoção precoce de observadores (com referência fraca ou com referência a zero) ainda é suportada. CFNotificationCenterAddObserver não está em conformidade com esse comportamento, pois o observador pode não ser um objeto.
mas observe os pontos abaixo sobre referências fortes, para que você possa se preocupar com a limpeza de qualquer maneira ...?