ObjectBox

入门指南文档示例应用问题反馈

Version Platform Follow @ObjectBox_io

ObjectBox Swift 数据库 - 适用于 iOS 和 macOS 的快速对象持久化和设备端向量数据库

强大且超快的 Swift 数据库,并且易于使用。在 iOS 和 macOS 设备上快速可靠地持久化 Swift 对象。

演示代码

// objectbox: entity
class Person {
    var id: Id = 0
    var firstName: String = ""
    var lastName: String = ""
    
    init() {}
    
    init(id: Id = 0, firstName: String, lastName: String) {
        self.id = id
        self.firstName = firstName
        self.lastName = lastName
    }
}

let store = try Store(directoryPath: "person-db")
let box = store.box(for: Person.self)

var person = Person(firstName: "Joe", lastName: "Green")
let id = try box.put(person) // Create

person = try box.get(id)!    // Read

person.lastName = "Black"
try box.put(person)          // Update

try box.remove(person.id)    // Delete

let query = try box.query {  // Query
    Person.firstName == "Joe"
    && Person.lastName.startsWith("B")
}.build()
let people: [Person] = try query.find()

想了解更多细节?阅读指南查看 API 文档

为什么使用 ObjectBox 进行 Swift 数据持久化?

简单但强大;节俭但快速:ObjectBox NoSQL 数据库提供了一个直观的 Swift API,易于上手,使用起来很有趣,而且速度非常快,使其在许多方面具有可持续性。它节俭的资源使用(CPU、内存、电池/电源)使 ObjectBox 成为 iOS 应用程序的理想和可持续选择。所以为什么不立即尝试一下呢?查看下面的 安装部分。您还可以为该存储库点亮一颗星,以便以后使用 🌟

特性

🧠 人工智能 - 超快速的 设备端向量搜索
🏁 高性能 在受限设备上,例如物联网网关、微控制器、ECU 等。
💚 资源友好 以最小的 CPU、功耗和内存使用量实现最大的灵活性和可持续性
🔗 关系: 内置对象链接/关系
💻 多平台: Linux、Windows、Android、iOS、macOS

🌱 可扩展: 轻松高效地处理数百万个对象
💐 查询: 根据需要筛选数据,甚至可以跨关系
🦮 静态类型: 编译时检查和优化
📃 自动模式迁移: 无需更新脚本

以及不仅仅是数据持久化
👥 ObjectBox Sync: 使设备和服务器之间的数据保持同步
🕒 ObjectBox TS: 基于时间数据的时序扩展

将 ObjectBox 添加到您的项目

ObjectBox 可用作

有关详细信息和其他设置选项,请参阅 安装 ObjectBox Swift

示例

Example 目录中,您会找到一个“Notes”示例应用程序,它演示了 ObjectBox 的 Swift API。 该示例附带两个应用程序:一个用于 iOS,一个用于 macOS。 iOS 示例是一个完整的 GUI 应用程序,而 macOS 示例运行一些操作然后退出。

Swift 版本

以下是 ObjectBox 版本的列表,以及它们编译所用的 Swift 版本

ObjectBox 版本 Swift 版本
4.0.1 5.9
4.0.0 5.9
2.0.0 5.9
1.9.2 5.9
1.9.1 5.9
1.9.0 5.8.1
1.8.1 5.7.2
1.8.0 5.7.1
1.7.0 5.5
1.6.0 5.4
1.5.0 5.3(.2)
1.4.1 5.3
1.3, 1.4.0 5.2
1.2 5.1

这可能相关,例如,当使用 Carthage 时。 出于各种原因,我们建议使用最新版本。

变更日志

有关新版本中的重要更改,请阅读 变更日志

开发

ObjectBox 的 Swift 绑定的源代码可以在此存储库的 Source 文件夹 中找到。

背景:代码生成

ObjectBox Swift 数据库使用生成的代码,通过避免反射等方式在运行时实现最佳性能。

它使用 Sourcery 的一个分支 来实现这一点。

已经在使用 ObjectBox 了吗?

我们的使命是为应用程序开发人员带来快乐、喜悦和可持续性。为此,我们需要您的帮助:请填写这份 2 分钟的匿名反馈表。 让我们知道您喜欢什么以及有什么不足,以便我们改进。

我们期待收到您的意见和请求

谢谢! 🙏

保持联系:有关 ObjectBox 的一般新闻,请查看我们的博客

跨平台数据库:移动端、桌面端、浏览器、嵌入式、物联网

ObjectBox 是一个跨平台数据库,支持 多种原生语言 的可持续应用程序开发

许可证

Copyright 2018-2024 ObjectBox Ltd. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

请注意,此许可证仅适用于此存储库中的代码。 有关所有 ObjectBox 组件的许可证 的详细信息,请访问我们的网站。