deinit {
// perform the deinitialization
}
є правильною відповіддю для Свіфта "угода".
Однак добре вказувати нове в iOS 9, що NSNotificationCenter більше не потрібно прибирати!
https://developer.apple.com/library/content/releasenotes/Foundation/RN-FoundationOlderNotes/index.html#X10_11Замітки
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 не відповідає цій поведінці, оскільки спостерігач не може бути об'єктом.
але зверніть увагу на пункти нижче про чіткі посилання, тож вам, можливо, доведеться турбуватися про очищення ...?