deinit {
// perform the deinitialization
}
правильный ответ для Swift "dealloc".
Тем не менее, хорошо отметить в iOS 9, что NSNotificationCenter больше не нужно очищать!
https://developer.apple.com/library/content/releasenotes/Foundation/RN-FoundationOlderNotes/index.html#X10_11Notes
NSNotificationCenter
В OS X 10.11 и iOS 9.0 NSNotificationCenter и NSDistributedNotificationCenter больше не будут отправлять уведомления зарегистрированным наблюдателям, которые могут быть освобождены. Если наблюдатель может быть сохранен как ссылка со слабой нулевой привязкой, основное хранилище будет хранить наблюдатель как слабую ссылку при нулевой настройке, или, если объект не может быть сохранен как слабый (т.е. у него есть собственный механизм сохранения / освобождения, который предотвращает время выполнения) из-за способности хранить объект слабо) он будет хранить объект как неслабую нулевую ссылку. Это означает, что наблюдатели не обязаны отменять регистрацию в своем методе освобождения. Следующее уведомление, которое будет направлено этому наблюдателю, обнаружит обнуленную ссылку и автоматически отменит регистрацию наблюдателя. Если на объект можно ссылаться слабо, уведомления больше не будут отправляться наблюдателю во время освобождения; предыдущее поведение получения уведомлений во время деэллока все еще присутствует в случае неслабых обнулений эталонных наблюдателей. Наблюдатели на основе блоков с помощью метода - [NSNotificationCenter addObserverForName: object: queue: usingBlock] по-прежнему должны быть незарегистрированными, когда они больше не используются, поскольку система все еще сохраняет сильную ссылку на этих наблюдателей. Удаление наблюдателей (либо со слабой ссылкой, либо с нулевой ссылкой) все еще поддерживается. CFNotificationCenterAddObserver не соответствует этому поведению, поскольку наблюдатель не может быть объектом. Наблюдатели на основе блоков с помощью метода - [NSNotificationCenter addObserverForName: object: queue: usingBlock] по-прежнему должны быть незарегистрированными, когда они больше не используются, поскольку система все еще сохраняет сильную ссылку на этих наблюдателей. Удаление наблюдателей (либо со слабой ссылкой, либо с нулевой ссылкой) все еще поддерживается. CFNotificationCenterAddObserver не соответствует этому поведению, поскольку наблюдатель не может быть объектом. Наблюдатели на основе блоков с помощью метода - [NSNotificationCenter addObserverForName: object: queue: usingBlock] по-прежнему должны быть незарегистрированными, когда они больше не используются, поскольку система все еще сохраняет сильную ссылку на этих наблюдателей. Удаление наблюдателей (либо со слабой ссылкой, либо с нулевой ссылкой) все еще поддерживается. CFNotificationCenterAddObserver не соответствует этому поведению, поскольку наблюдатель не может быть объектом.
но обратите внимание на пункты ниже о сильных ссылках, так что вам, возможно, придется беспокоиться об очистке в любом случае ...?