Я только что узнал, что если вы не сделаете его слабым, ваши viewControllers не будут освобождены (сильная ссылка). Означает ли это, что каждый раз, когда вы закрываете свое приложение, вы все равно оставляете в памяти некоторый «мусор» (viewControllers), если вы не сделали его слабым? Если это так, то правда ли, что «слабый» должен быть обязательным для «Я»?
Когда ссылка на себя должна быть слабой в IOS?
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