Swift 序列化指南
Apache Fory Swift 提供高性能对象图序列化,具备强类型安全、基于宏的代码生成、Schema 演化和跨语言兼容能力。
为什么选择 Fory Swift?
- 面向 Swift 值类型和引用类型的高速二进制序列化
- 使用
@ForyObject宏实现零样板模型序列化 - 通过
xlang与 Java、Rust、Go、Python 等运行时进行跨语言互操作 - 提供跨版本 Schema 演化的兼容模式
- 内置支持动态值(
Any、AnyObject、any Serializer、AnyHashable) - 支持共享 / 循环对象图的引用跟踪,并兼容类上的弱引用
安装
从 Apache Fory GitHub 仓库引入 Fory Swift:
dependencies: [
.package(url: "https://github.com/apache/fory.git", exact: "$version")
],
targets: [
.target(
name: "MyApp",
dependencies: [
.product(name: "Fory", package: "fory")
]
)
]
指南目录
快速示例
import Fory
@ForyObject
struct User: Equatable {
var name: String = ""
var age: Int32 = 0
}
let fory = Fory()
fory.register(User.self, id: 1)
let input = User(name: "alice", age: 30)
let data = try fory.serialize(input)
let output: User = try fory.deserialize(data)
assert(input == output)