Когда ссылка на себя должна быть слабой в IOS?

Я только что узнал, что если вы не сделаете его слабым, ваши viewControllers не будут освобождены (сильная ссылка). Означает ли это, что каждый раз, когда вы закрываете свое приложение, вы все равно оставляете в памяти некоторый «мусор» (viewControllers), если вы не сделали его слабым? Если это так, то правда ли, что «слабый» должен быть обязательным для «Я»?


person den330    schedule 11.07.2016    source источник
comment
Хорошей отправной точкой будет developer.apple.com/ библиотека/ios/документация/Swift/Conceptual/   -  person zneak    schedule 11.07.2016
comment
Если вы сомневаетесь, используйте инструмент утечки памяти инструментов. При использовании ARC можно сохранять циклы в объектах, которые должны быть слабыми ссылками, а не сильными. 'weak' обычно используется для свойств делегатов, на которые ссылаются в одном классе, но которые определены в другом классе, у которого есть собственный логический путь для освобождения памяти.   -  person jcpennypincher    schedule 14.07.2016


Ответы (1)


Это зависит от того, что self имеет в виду в вашей архитектуре. Если self имеет в виду тип, который необходимо сохранить в вашем приложении, тогда да, он останется, когда приложение перейдет на передний план. Вы можете убедиться, что это необходимо, а также убедиться, что вы избегаете сильных циклов удержания.

person Laurence Wingo    schedule 14.07.2016