Сильные свойства и управление памятью

Скажем, у нас есть контроллер A, и у него есть два сильных свойства B и C. У B и C есть один общий тип свойства D. Соотношение выглядит следующим образом:введите описание изображения здесь

Если бы я снял связь между A и C, установив для свойства C в A значение nil, будет ли освобожден C или он будет существовать до тех пор, пока не будет удалена связь между A и B или B и D?

1 ответ

Решение

C будет удален, предполагая, что D не имеет строгой ссылки на C. Поскольку остающихся сильных ссылок нет, он освобождается.

Ваша диаграмма представляет эти отношения как двусторонние связи, но помните, что свойство - это только односторонние отношения; То, что C имеет указатель D, не означает, что D знает о C.

Другие вопросы по тегам