
小序
每年 WWDC 钟声敲响前,Apple 开发者社区都会上演传统的"许愿大会":
"SwiftUI 今年能给个完美的 Navigation 吗?" "Xcode 能不能少报点玄学错误?" "Apple Intelligence 又要搞什么新魔法?"
但如果你平时喜欢潜水在 Swift Evolution (Swift 语言演进论坛),你会发现一个极其"反直觉"的现象:Swift 核心团队最近几乎完全不聊 UI,也不聊那些花哨的语法糖。
他们嘴里高频蹦出的词汇是这些: ownership(所有权)、borrowing(借用)、consuming(消耗)、noncopyable(不可复制)、references(引用)。
如果你是一个双修开发者,你可能会揉揉眼睛:"等等,这画风怎么这么像 Rust?"

没错,不要怀疑你的直觉。Swift 6.4 及后续版本,正在酝酿一场核弹级的定位转变------它已经不再满足于安安静静地做一门"写 App 的高级语言",而是正在亮出獠牙,向着高性能的"系统级语言"狂奔。
这场底层革命到底会给我们的代码带来什么?让我们提前拆解 Swift 6.4 那些即将改变游戏规则的重磅新特性吧。;)
🔑 革命的主线任务:Ownership(所有权系统)
想要看懂 Swift 6.4,你只需要记住一个核心词:Ownership(所有权)。
回顾近两年的 Swift 演进,无论是 ~Copyable、Span、InlineArray,还是即将到来的 Borrowing,全都是为了完成同一个主线任务:干掉 ARC(自动引用计数)带来的性能损耗。

曾几何时,Swift 靠着 ARC 让我们告别了手动内存管理的痛苦。但随着 Apple 将 Swift 的战场拓展到大模型 AI 推理、Vision Pro 空间计算、Metal 渲染、嵌入式开发(Embedded Swift)以及机器人控制 ,ARC 带来的 retain/release、copy 和 CoW(写时复制) 就成了致命的"性能刺客"。
既然追求极致性能,Swift 就必须引入一套无需运行时代价的机制。于是,好戏开场了。
⚔️ 第一把利器:Ref<T> 与 MutableRef<T>(安全借用的降临)
在过去的 Swift 中,如果你想在不产生拷贝的情况下共享一个值,你面临着一个两难的尴尬境地:
- 选择 A(用 Class 包装): 写一个
class Box<T>。代价是堆分配(Heap Allocation)+ 持续的 ARC 开销。性能大打折扣。 - 选择 B(用裸指针): 使用
UnsafePointer<T>。代价是你半只脚已经踏进了深渊,悬空指针、内存越界等 C 语言时代的梦魇随时会让你崩溃。
难道就没有既安全又零开销的第三条路吗?
Swift 6.4 的答案是:Ref<T> 与 MutableRef<T>。(目前已作为提案被正式接受)。

它们的设计目标极度纯粹:安全地借用(引用)一个值,且不需要 Class 的额外开销。
如果你写过 Rust,你会心一笑:这不就是大名鼎鼎的 &T(不可变借用)和 &mut T(可变借用)吗!通过生命周期和所有权检查,Swift 终于可以在编译期保证引用的绝对安全,彻底消灭了悬空指针,同时性能直逼 C 语言。
🛡️ 第二把利器:全新的 Continuation(终结异步崩溃)
如果你在老代码里写过桥接回调机制,一定对这两个东西又爱又恨: withCheckedContinuation 和 withUnsafeContinuation。
它们虽然好用,但极其脆弱。稍不留神,就会触发两大经典惨案:
- 忘记 resume: 线程永远挂起。
- resume 两次: 恭喜你,App 直接在运行时原地爆炸。
Swift 6.4 终于出手了,引入了强类型的 Continuation<Success, Failure>。
这个新类型的伟大之处在于,它通过巧妙的底层设计(结合不可复制特性),把以前在运行时才会爆发的崩溃,直接提前变成了编译期报错! 编译器会死死盯着你,确保你既不会忘记 resume,也绝无可能 resume 两次。安全感瞬间拉满。

🗡️ 终极杀器:UniqueArray(向传统 Array 发起挑战)
这是我认为 Swift 6.4 周期内最具野心、最令人兴奋的特性。目前,该提案已获得核心团队的"原则接受(Accepted in Principle)"。
很多人平时用着丝滑的 [String] 或 [Int],并不知道传统的 Array 背后其实暗藏玄机。为了保证值类型的安全,Swift 为 Array 设计了 Copy-On-Write (CoW,写时复制) 机制。
这意味着,你每一次对数组进行修改前,Swift 都会在底层默默调用一句: isKnownUniquelyReferenced(...)("请问这块内存现在只有我一个人在用吗?")
写写普通的 SwiftUI 列表,这个检查的开销微乎其微。但如果你在写游戏引擎,或者在处理每秒百万次的机器学习张量运算,这个每次修改前必做的"保安盘问",极其昂贵。
UniqueArray<T> 横空出世,它的哲学极其霸道:
"从我出生的那一刻起,编译器就保证我这辈子只能有一个主人(独占所有权)。"

既然只有一个主人,就不可能有别人来读写。因此,UniqueArray 彻底干掉了 ARC、废弃了 CoW、删除了 Uniqueness Check(唯一性检查)。它的性能将直接硬刚 Rust 的 Vec<T>,甚至逼近 C 语言底层的 malloc!
在 Swift 论坛上,甚至有极客开发者分享了他们的实验:仅仅是将底层的 [Node] 强行替换为基于 ~Copyable 思想的唯一所有权数组,代码性能直接翻倍。
🛠️ 润物细无声的系统级优化
除了上面三大主力,Swift 6.4 还在各个角落进行着"硬核改造":
- Optional 的进阶玩法 : 当不可复制类型(
~Copyable)装进Optional里时,以前很难优雅地访问。新的提案引入了borrow()和mutate(),并返回Ref?和MutableRef?。这意味着你可以在不"消耗"原对象的情况下,安全地隔空探测并修改 Optional 里的值。 borrow与mutate访问器转正: 以前躲在幕后的内存访问控制关键字,现在正式作为一线语法加入,让你对属性内存的控制达到像素级。- 终于等到你:
async defer: 千呼万唤始出来!你终于可以在defer闭包里写await了。清理网络流、关闭数据库连接等异步收尾工作,从此变得无比优雅。 OutputSpan家族扩张: 围绕连续内存视图的 API 继续增强,裸内存操作将变得前所未有的安全和顺滑。

⚡ 开发者狂喜:类型检查器的大幅提速
看完上面那些硬核特性觉得脑壳疼?别怕,这里有一个对所有开发者绝对友好的超级利好。
每一个 Swift 开发者都曾被编译器那句傲慢的提示折磨过:
"The compiler is unable to type-check this expression in reasonable time..." (编译器无法在合理时间内完成类型检查)
在最近的编译器团队展示中,他们针对复杂的链式高阶函数(如 Array().filter().map().reduce())进行了底层重构。测试结果令人瞠目结舌:某些原本需要耗时 300 毫秒才能推断出类型的表达式,现在只需 4 毫秒!

如果这项优化在 Swift 6.4 中全面铺开,Xcode 代码高亮的延迟、无尽的菊花转,有望得到史诗级的缓解。
总结:从 Python 的跟班,到 Rust 的宿敌
我们可以用一张表来总结 Swift 6.4 及未来的重磅版图:
| 特性 | 当前状态 | 核心价值 |
|---|---|---|
Ref<T> |
✅ Swift 6.4 落地 | 告别指针,安全且零开销的不可变借用 |
MutableRef<T> |
✅ Swift 6.4 落地 | 告别指针,安全且零开销的可变借用 |
Continuation<T,E> |
✅ Swift 6.4 落地 | 编译期防漏写、防多次 resume,终结异步崩溃 |
borrow / mutate 访问器 |
✅ Swift 6.4 落地 | 精细化控制属性的所有权边界 |
async defer |
✅ 终于支持 | 允许在作用域结束时执行异步清理工作 |
| Optional 借用增强 | 🟡 活跃提案推进中 | 与不可复制类型完美配合,无损访问可选值 |
UniqueArray<T> |
🟡 原则上接受 | 彻底干掉写时复制(CoW),登顶性能之巅 |
| 编译器类型检查提速 | ✅ 持续突破中 | 链式调用推断从 300ms 降至 4ms 级别 |
最后,让我们来看透这一切背后的宏大叙事:
过去的十年,Swift 像一个好奇的学生,跟在 Python、JavaScript 和 Kotlin 后面,努力学习如何变得更简单、更优雅、更让人喜爱(闭包、Result Builder、宏)。
但现在的 Swift,已经不再满足于此。面对时代的巨变,它默默换上了战袍,开始向 Rust、Zig 和 C++ 看齐。它开始疯狂强调所有权、生命周期、安全借用和零成本抽象。
如果说 WWDC25 是 InlineArray 和 Span 的一年,那么 WWDC26 和 Swift 6.4 的周期,绝对是属于 「Ref、所有权体系与 UniqueArray」的一年。

多年以后,当我们戴着轻薄的 AR 眼镜,或者让桌面机器人去倒咖啡时,我们或许会回想起这个分水岭:正是从这些看似枯燥的新内置类型开始,Swift 彻底摆脱了"仅仅写个 App"的标签,蜕变成了一柄能够斩断算力瓶颈、驾驭星辰大海的重剑。
感谢宝子们的观赏,我们 WWDC 26 不见不散!8-)