одна организация имеет политику сохранения блоков / закрытий «слабыми» по умолчанию, чтобы избежать случайных циклов сохранения.
Вероятно, у организации есть политика хранения захваченных ссылокпо блокам «слабым», чтобы избежать сохранения циклов.Сами блоки, сохраняемые как свойства, копируются.
Существует очень специфическое обстоятельство, при котором блок вызывает цикл сохранения: блок ссылается на объект (себя или некоторый другой объект) и этот объект (напрямую иликосвенно) сохраняет блок.
Большую часть времени мы знаем из проверки, какой объект будет сохранять блок.Скажи, что это «объект А».Вопрос о цикле сохранения: какой-либо из объектов, упомянутых в блоке, прямо или косвенно сохраняет «объект А»?Эти объекты, и никакие другие , должны быть объявлены слабыми для использования в блоке.
Объявление их всех слабыми все время сделает свою работу, но, IMO, сделает будущих читателейиз этого кода беспокоятся, что авторы не имели четкого понимания своего собственного кода.