教程 swift tutorial

ARC 原理介绍

自动引用计数(ARC)是 Swift 管理内存的机制,自动跟踪和管理对象的引用次数,决定对象的生命周期。

工作原理

  • 每当创建新实例时,ARC 会增加该实例的引用计数。
  • 当引用计数为零时,ARC 自动释放对象,释放内存。

引用计数示例

swift
class Person {
    let name: String
    init(name: String) {
        self.name = name
        print("\(name) 初始化")
    }
    deinit {
        print("\(name) 被释放")
    }
}

var person1: Person? = Person(name: "小明")
var person2 = person1
person1 = nil
person2 = nil  // 此时引用计数为0,对象被释放

`

注意事项

  • ARC 仅管理类实例的内存,结构体和枚举是值类型,不受 ARC 管理。
  • 循环引用会导致内存泄漏,需使用弱引用(weak)或无主引用(unowned)解决。

总结

理解 ARC 有助于写出高效且安全的 Swift 代码,避免内存泄漏和野指针问题。