Swift 类——析构器与自动清理机制
来源:dev.to — 2026-07-22
📋 概述
本文深入解释了 Swift 中类的生命周期管理机制。ARC(自动引用计数)像一个隐形的会计师,追踪每个类实例的引用数量——每次创建新引用加 1,每次引用消失减 1,归零时自动销毁。`deinit` 析构器在实例被销毁前自动调用,使用动漫训练营的生动例子展示了多引用场景下析构器的触发时机。与 struct 不同,class 需要 ARC 正是因为"路牌"式的引用传递——多个变量可能指向同一块数据。
🔑 核心要点
- ARC 自动引用计数:Swift 在后台持续追踪每个类实例的引用数量,归零时自动销毁——开发者无需手动管理。
- deinit 析构器:`init` 的对偶——当最后一个引用消失时自动调用,不能手动触发,无参数,无返回值。
- 多引用场景的时机差异:实例只有在所有引用都消失后才销毁——即使主变量设为 nil,只要还有一个引用存活就不触发析构。
- Struct 不需要 ARC:值类型每次复制都是独立数据——变量消失即数据消失,无需引用计数。
💡 金句
ARC 像一个隐形的会计师,在你不知道的时候持续跟踪每一个类实例的引用——当计数器归零,Swift 就知道是时候说再见了。
👍 0👎 0
← 返回 Dev.to 首页