Сильные свойства и управление памятью
Скажем, у нас есть контроллер A, и у него есть два сильных свойства B и C. У B и C есть один общий тип свойства D. Соотношение выглядит следующим образом:
Если бы я снял связь между A и C, установив для свойства C в A значение nil, будет ли освобожден C или он будет существовать до тех пор, пока не будет удалена связь между A и B или B и D?
1 ответ
Решение
C будет удален, предполагая, что D не имеет строгой ссылки на C. Поскольку остающихся сильных ссылок нет, он освобождается.
Ваша диаграмма представляет эти отношения как двусторонние связи, но помните, что свойство - это только односторонние отношения; То, что C имеет указатель D, не означает, что D знает о C.