Objective-C Автоматический подсчет ссылок (ARC) и наблюдение значения ключа - PullRequest
5 голосов
/ 14 ноября 2011

Я пишу приложение Objective-C с использованием ARC, и это определенно большое улучшение, хотя я никогда не думал о сохранении счета. Однако есть один случай, который я не смог найти в документации на первый взгляд.

Если в моем методе init я вызываю [self addObserver:self forKeyPath:…] для получения уведомлений о том, когда ивар объявлен с использованием директивы @property, мне нужно явно вызвать removeObserver… в методе dealloc или ARC обрабатывает очистку наблюдателя значения ключа? Точно так же, если я добавлю свой объект к NSNotificationCenter, нужно ли это явно удалять в dealloc?

1 Ответ

5 голосов
/ 14 ноября 2011

Вам нужно позвонить removeObserver, ARC только автоматизирует сохранение счета.removeObserver не влияет на счет удержания

...