В контроллере представлений я создаю массив подпредставлений, которые можно в любое время удалить из родительского представления, поэтому их срок службы короче, чем у контроллера представлений.
При их создании я выполняю довольновот что:
- Выделить / инициализировать подпредставление
- добавить контроллер представления в качестве наблюдателя свойства
frame
подпредставления. - добавить его в сохраненный массив
- добавьте его в представление
- отпустите его
Подвид не имеет ссылки на контроллер представления.
Когда пользовательудаляет подпредставление, оно освобождается, и я получаю сообщение об ошибке в консоли, говорящее мне, что наблюдатель не указал путь ключа frame
представления.
Как я могу удалить наблюдателя, когда наблюдаемое подпредставлениене сохраняет ссылку на наблюдателя?
Разве нет возможности сделать что-то вроде removeAllObservers
?
Я бы предпочел не создавать ссылку на наблюдателя в подпредставлении,как это несколько побеждаетточка КВО (я мог бы также использовать настройку делегата).