как увидеть, что объект наблюдает в какао - PullRequest
3 голосов
/ 27 мая 2011

Я знаю, что есть способ увидеть, какие свойства наблюдаются на объекте, с помощью selectionInfo, но есть ли способ узнать, какой объект установлен для наблюдения?

[otherObject addObserver:zombie forKeyPath:@"brains" context:apocalypse] 

Вызов [otherObject наблюденийИнфо] показывает, что зомби наблюдает ключевой путь @ "мозги", но я хотел бы вызвать [zombie наблюдатель для] или что-то еще и посмотреть, что он установлен в качестве наблюдателя для ....

1 Ответ

3 голосов
/ 27 мая 2011

Я не думаю, что вы можете сделать это. Реализация KVO хранит указатели на наблюдаемый объект в наблюдаемом объекте (фактически, это динамически создаваемый подкласс наблюдаемого объекта). Таким образом, объект наблюдения не поддерживает никаких ссылок на объекты, которые он наблюдает. Документация Apple по KVO здесь говорит немного больше. Этот поток говорит немного больше о реальной реализации KVO и isa-swizzling.

...