Будет ли ссылка на массив экземпляров класса в классе создать сильный ссылочный цикл? - PullRequest
0 голосов
/ 10 февраля 2019

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

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

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

1 Ответ

0 голосов
/ 10 февраля 2019

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

...