Будет ли ссылка на массив экземпляров класса в классе создать сильный ссылочный цикл?
У меня есть следующий класс:
class Circle: CustomStringConvertible, Hashable, Equatable
{
...
var bonus5Circles = [Circle]()
...
}
Теперь в большинстве случаев массив bonus5Circles будет пустым, но в некоторых случаях он будет содержать некоторое подмножество Circles. Кажется, это правильно работает в коде, но мой вопрос заключается в том, создает ли это сильный ссылочный цикл. Я заметил утечки, которые я не могу отследить в функциях при создании бонуса, и мне было интересно, можно ли его отследить до этого свойства.
1 ответ
Задав этот вопрос, я написал площадку с аналогичным кодом. Я обнаружил, что нет никакой проблемы деинициализации экземпляров класса, ЕСЛИ БЕЗ класса экземпляр с непустым массивом содержит себя, и в этом случае у вас есть сильный ссылочный цикл.