Swift Copy-on-Write:值类型替代原型模式的方式(总结)
Swift Copy-on-Write 在赋值值类型时共享存储空间,只有一方被修改时才执行实际复制。本篇将说明这一优化如何保留值语义,同时降低原型模式的作用。
阅读文章LANGUAGE · 52 ARTICLES
按时间顺序浏览 Swift 语言 文章。
全部文章
Swift Copy-on-Write 在赋值值类型时共享存储空间,只有一方被修改时才执行实际复制。本篇将说明这一优化如何保留值语义,同时降低原型模式的作用。
阅读文章使用 Swift 编写代码时,你总会产生一些疑问:为什么可选值这么严格?为什么数组会被复制?为什么会有 guard?逐一深入这些问题,最终会遇到 Swift 从一开始就提出的三个目标:Safe(安全)、Fast(快速)、Expressive(富有表现力)。
阅读文章从扩展字素簇出发,解释 Swift String 不接受整数索引的原因,并通过实际运行结果确认韩文组合字符串中 Character、Unicode scalar 和 UTF-8 的差异。
阅读文章在 Objective-C 代码中,用方括号包裹的 [receiver message] 语法看起来就像普通的方法调用。
阅读文章引用拷贝、浅拷贝和深拷贝所新建的数据范围不同。本文讲解 Swift 值类型中包含引用类型时的陷阱,以及 Copy-on-Write 如何保证独立拷贝。
阅读文章Swift guard 会先处理失败条件,让正常流程保持平坦。通过可执行示例确认它与 if 不同的编译器保证、可选绑定的有效范围,以及 return、throw、continue 的选择标准。
阅读文章Swift 的错误处理工具,会根据处理失败的时机和需要保留的信息发挥不同作用。本文结合执行结果,整理 throws、do-catch、try?、try! 和 Result 的选择方式。
阅读文章