КВО: Должен ли я явно удалить объект в качестве наблюдателя? - PullRequest
0 голосов
/ 20 сентября 2011

У меня есть контроллер табличного представления, ячейки которого отображают содержимое другого объекта. Поскольку содержимое этих объектов может быть обновлено, я использую KVO для уведомления об изменениях, чтобы обновить представление ячейки таблицы.

Сейчас на этой странице Apple отмечает, что:

Метод наблюдения ключ-значение addObserver:forKeyPath:options:context: не сохраняет наблюдаемый объект или наблюдаемые объекты. Тебе нужно рассмотреть требования вашего приложения и управлять сохранением и выпуск для наблюдающих и наблюдаемых объектов.

Может ли кто-нибудь сказать мне, что произойдет, если контроллер представления будет разрушен, а я не вызову removeObserver:forKeyPath: для каждого из наблюдаемых объектов? Это приведет к неправильному доступу или фреймворк не отправит уведомление?

1 Ответ

2 голосов
/ 20 сентября 2011

Вы получите ошибку неверного доступа.Лучше убрать свой контроллер из наблюдателей.

...