swift - 在一个类中引用一个类的实例数组会产生强引用循环吗?

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

我有以下类(class):

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

现在,在大多数情况下,bonus5Circles 数组将为空,但在某些情况下,它会包含 Circles 的一些子集。这似乎在代码中正常运行,但我的问题是这是否正在创建一个强大的引用循环。我注意到在创建奖励时我无法在函数中追踪泄漏,并且想知道是否可以追踪到此属性。

最佳答案

问完这个问题后,我用类似的代码写了一个 Playground 。我发现取消初始化类的实例没有问题,除非具有非空数组的类实例包含自身,在这种情况下你确实有一个强引用循环。

关于swift - 在一个类中引用一个类的实例数组会产生强引用循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613659/

相关文章:

快速理解 for 循环

swift - 运行和开发相同的 Swift macOS 应用程序

javascript - 在类javascript类构造函数中使用异步调用

c++ - 对简单的 Arduino 类进行故障排除

multithreading - Perl 脚本随着进度变慢

python - Python csv.DictReader 的内存使用问题

ios - 解包后,CoreDataStack 中的 ManagedObjectContext 返回 nil

java - 将 ObjectS 实例化为 Object 如何工作?这里发生了什么?

c++ - 通过读取文件创建 map<string,vector<string>> 时如何管理内存

ios - 注册 TableView 单元格时在 Swift 中使用 AnyClass