7

Я регистрирую наблюдателя на кучке контроллеров табличного обзора динамически, поэтому мне нужно удалить предыдущих наблюдателей, если они были зарегистрированы на одном и том же объекте. Для этого мне нужно проверить, существует ли наблюдатель на объекте.KVO - Как получить список объектов, зарегистрированных наблюдателями

Возможно ли это? Я знаю, что с NSNotification вы можете использовать синтаксис центра NSNotification, но это то же самое для KVO?

ответ

2

Нет, нет простого способа, о котором я знаю. KVO и NSNotification отличаются в этом отношении. Почему бы вам не реализовать свое решение с помощью NSNotification вместо KVO, если вам нужна эта функциональность?

+0

Я привязываюсь к табличному представлению, чтобы определить, когда у него есть элементы. Наверное, я могу отправить событие уведомления вручную. У меня есть суперкласс, обрабатывающий поставщика данных. KVO кажется идеальным. Я мог бы сделать это и по-другому. Спасибо за быстрый ответ. –

15

Я не знаю, как вы можете удалить наблюдателей, зарегистрированных на тех же объектах.

Но я думаю, что метод ниже поможет вам немного двигаться вперед, чтобы найти ваше решение.

observationInfo

Возвращает указатель, который идентифицирует информацию обо всех наблюдателей, которые зарегистрированы с приемником.

- (void *)observationInfo 

Реализация этого метода по умолчанию извлекает информацию из глобального словаря, на который указывают указатели получателя.