跳到主要内容
版本:dev

Swift 序列化指南

Apache Fory Swift 提供高性能对象图序列化,同时具备强类型安全、基于宏的代码生成、Schema 演进能力以及跨语言兼容性。

为什么选择 Fory Swift?

  • 面向 Swift 值类型和引用类型的高性能二进制序列化
  • 使用 @ForyObject 宏,几乎无需样板代码即可让模型支持序列化
  • 通过 xlang 协议与 Java、Rust、Go、Python 等运行时互通
  • 通过兼容模式支持跨版本 Schema 演进
  • 内置支持动态值,例如 AnyAnyObjectany SerializerAnyHashable
  • 支持共享引用和循环引用跟踪,类类型还支持 weak 引用场景

安装

通过 Apache Fory GitHub 仓库将 Fory Swift 添加到 Swift Package Manager:

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)