Этот вопрос возник ко мне при чтении this.Установляет ли ARC свойства экземпляра ссылочного типа до нуля до освобождения?
Мой вопрос не является ссылкой на изображении ниже:
После джон установлен в ноль, Person
экземпляр больше не имеет более сильную ссылку и, следовательно, будет освобождаться. Но Apartment
имеет две сильные ссылки и один из которых находится у объекта на Person
экземпляре, который скоро будет освобожден. Я считаю, эта сильная ссылка продолжает оставаться после освобождения и выходит за пределы кода.
Таким образом, установка unit14A
к nil
удалит только один сильный ссылку на Apartment
инстанции и оно не должно быть высвобождены как это было бы еще одна сильная ссылка в связи с выше случае.
Но, как говорится в документе, Apartment
экземпляр незамедлительно освобожден. Для меня это может произойти только в том случае, если во время Person
экземпляр освобождения устанавливает квартиру собственности на nil
, тем самым удаляя эту сильную ссылку на экземпляр Apartment
. Но я не мог найти документацию, чтобы проверить это.
Итак, как экземпляр квартиры освобождается? Что случилось с сильной ссылкой на собственность квартиры с экземпляром Person?
Может кто-нибудь помочь мне понять это?
http://www.apeth.com/iOSBook/ch12.html#_memory_management_of_instance_variables_arc – matt