FaunaDB 的 Swift 驱动程序现在由“社区支持”。除非社区成员贡献了必要的更改,否则新功能将不会在驱动程序中公开。 如果您有任何问题/疑虑,或者希望在驱动程序的开发中发挥更积极的作用(例如,与我们合作并作为驱动程序的“维护者”),请发送电子邮件至 product@fauna.com。
适用于 FaunaDB 的 Swift 驱动程序
请查看特定于 Swift 的参考文档。
您可以在 FaunaDB 文档 和我们的示例项目中找到更多信息。
CocoaPods
pod 'FaunaDB', '~> 2.0.0'
Carthage
github 'fauna/faunadb-swift'
SwiftPM
.Package(url: "https://github.com/fauna/faunadb-swift.git", Version(2, 0, 0))
import FaunaDB
struct Post {
let title: String
let body: String?
}
extension Post: FaunaDB.Encodable {
func encode() -> Expr {
return Obj(
"title" => title,
"body" => body
)
}
}
extension Post: FaunaDB.Decodable {
init?(value: Value) throws {
try self.init(
title: value.get("title") ?? "Untitled",
body: value.get("body")
)
}
}
let client = FaunaDB.Client(secret: "your-key-secret-here")
// Creating a new post
try! client.query(
Create(
at: Class("posts")
Obj("data" => Post("My swift app", nil))
)
).await(timeout: .now() + 5)
// Retrieve a saved post
let getPost = client.query(Get(Ref(class: Class("posts"), id: "42")))
let post: Post = try! getPost.map { dbEntry in dbEntry.get("data") }
.await(timeout: .now() + 5)
非常欢迎 GitHub Pull Request。
您可以使用以下命令编译并运行测试
FAUNA_ROOT_KEY=your-keys-secret-here swift test
版权所有 2018 Fauna, Inc.
根据 Mozilla Public License, Version 2.0(“许可证”)获得许可;除非符合许可证的规定,否则您不得使用本软件。 您可以在以下位置获得许可证副本:
除非适用法律要求或以书面形式达成一致,否则按“原样”分发的软件不附带任何形式的担保或条件,无论是明示的还是暗示的。 有关管理权限和限制的特定语言,请参阅许可证。