2023-10-25 Swift 讨论编写 Copy-on-Write 的正确姿势 基本形式 并发语境下的正确性 Case 1: 最优情况 Case 2: 冗余拷贝情况 Case 3: 剩余情况 可能的错误, 来自他处 基本形式 Swift 语言严格区分 value semantics (值语义) 和 reference semantics (引用语义). Copy on write 是一种代码范式, 它结合了操作对象时由值语义带来的安全性, 和引用语义带来的便捷性和高性能. Read More
2023-10-24 Swift 科里化函数的作用 基本功能 Swift 中的科里化 泛型函数库中的应用 科里化函数的作用 基本功能 Currying (科里化) 是函数式编程中的常见操作, 其作用是将多参数的函数改写成高阶函数[1]. 例如: 123456789func foo(_ a: Int, _ b: Int) -> Int{ a + b}func curriedFoo(_ a: Int) -> (Int) -> Int { return { b in a + b }} 语法角度, 科里化的最终目的即是通过创建新的 closure 并 capture 部分参数, 将原本同一层级的输入参数分离开来. Read More
2021-01-18 TRA TRA-4 Tip: 按 function 类型直接引用成员方法 背景: 全局方法 问题: 成员方法 self 不是 comparator 的参数 self 是 comparator 的参数 Receive: Swift UI 布局系统探究 Algorithm: N-皇后问题 题目 解答 Read More