Будет ли ссылка на массив экземпляров класса в классе создать сильный ссылочный цикл?

У меня есть следующий класс:

class Circle: CustomStringConvertible, Hashable, Equatable
{
    ...
    var bonus5Circles = [Circle]()
    ...
}

Теперь в большинстве случаев массив bonus5Circles будет пустым, но в некоторых случаях он будет содержать некоторое подмножество Circles. Кажется, это правильно работает в коде, но мой вопрос заключается в том, создает ли это сильный ссылочный цикл. Я заметил утечки, которые я не могу отследить в функциях при создании бонуса, и мне было интересно, можно ли его отследить до этого свойства.

1 ответ

Задав этот вопрос, я написал площадку с аналогичным кодом. Я обнаружил, что нет никакой проблемы деинициализации экземпляров класса, ЕСЛИ БЕЗ класса экземпляр с непустым массивом содержит себя, и в этом случае у вас есть сильный ссылочный цикл.

Другие вопросы по тегам