NSNotificationCenter удалить наблюдателя

Почему нам нужно явно вызывать removeobserver в Dealloc?

Почему среда выполнения не может определить, что экземпляр освобожден?


person Sandeep    schedule 20.10.2014    source источник


Ответы (1)


В то время, когда NSNotificationCenter был первоначально реализован, не было такого понятия, как автоматическое обнуление слабых ссылок в Objective-C (это пришло с ARC). Можно было бы реализовать pub-sub с использованием слабых ссылок, но по какой-то причине они не изменили API/поведение.

person Ben Baron    schedule 20.10.2014