我有 C# 背景;据我了解,Swift 具有像 C# 一样的自动内存管理。
C# 中需要使用“编程模式”的一个问题是及时释放资源,因为垃圾收集器在未定义的时间运行,因此不能用于关闭文件、释放网络连接等(因此 IDisposable和“使用”关键字)
用 Swift 编程时如何处理?
最佳答案
Swift seems to use有与 Objective-C 相同的内存管理模型与 ARC启用。
这意味着没有垃圾收集器。相反,当设置(强)引用时,ARC 使用引用计数和编译器插入的递增和递减操作。
没有(线程)收集器意味着终结在 Swift 中是确定性的。当最后一个引用超出范围时,对象将被释放。
关于garbage-collection - swift 如何处理确定性终结?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24010551/