在一个类中引用一个类的实例数组会创建一个强大的引用周期吗?

时间:2019-02-10 05:33:36

标签: swift class memory-management strong-reference-cycle

我有以下课程:

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

现在,在大多数情况下,bonus5Circles数组将为空,但在某些情况下,它将包含一些Circles子集。这似乎可以在代码中正常运行,但是我的问题是这是否正在创建一个强大的参考周期。我注意到泄漏,当奖金创建后,我无法在功能中进行追踪,并且想知道是否可以将其追踪到该属性。

1 个答案:

答案 0 :(得分:1)

问了这个问题之后,我用类似的代码编写了一个游乐场。我发现取消初始化类的实例没有问题,除非具有非空数组的类实例包含其自身,在这种情况下,您确实具有很强的引用周期。