下面我们通过 iOS 中四个常用类库 (SQLite.swift, FMDB, GRDB, Core Data) 来看看这些设计。 GRDB 方案 此方案借鉴了 FMDB 中的 API 设计,使用者通过在闭包中组织语句来实现数据库访问。不过与前两个相比,GRDB 最大的不同就是它不再使用串行队列设计。 通过对 SQLite 本身 WAL 模式进行,GRDB 支持多线程同时进行读写操作。 对于FMDB和GRDB 关注的上下文环境则是闭包中的 SQL 语句块。 总体而言,FMDB 和 GRDB 采用的方式从安全性和灵活性上会更好一点。顺便提一下,根据微信团队的文章他们采用的可能是 GRDB 那种方式,因为在微信的应用场景下写操作是瓶颈所在。 原文地址
注意:目前 SharingGRDB 及其依赖的基础库 GRDB[29]暂未提供类似 SwiftData/Core Data 的成熟跨设备同步方案,使用前请确认是否符合你的项目需求。 SwiftData): https://l.fatbobman.com/w081-08 [26] SharingGRDB: https://github.com/pointfreeco/sharing-grdb Point-Free: https://www.pointfree.co [28] 对比章节: https://swiftpackageindex.com/pointfreeco/sharing-grdb /main/documentation/sharinggrdbcore/comparisonwithswiftdata [29] GRDB: https://github.com/groue/GRDB.swift
4 | 1004 | wdsd | 2020-10-31 23:43:28 | 2020-10-31 23:43:28 | | 5 | 1005 | grdb (4,1004,'wdsd','2020-10-31 23:43:28','2020-10-31 15:43:28'); INSERT INTO `test_tb` VALUES (5,1005,'grdb --------+--------+----------+---------------------+---------------------+ | 5 | 1005 | grdb (4,1004,'wdsd','2020-10-31 23:43:28','2020-10-31 23:43:28'); INSERT INTO `test_tb` VALUES (5,1005,'grdb 40000 ALTER TABLE `test_tb` DISABLE KEYS */; INSERT INTO `test_tb` VALUES (5,1005,'grdb','2020-11-01
与此同时,Point-Free 团队推出的 Sharing GRDB[8]项目为跨平台数据持久化提供了全新思路。 尽管 Swift 在跨平台领域展现出了令人瞩目的潜力,但前方的挑战依然不容忽视。 OpenSwiftUICore/View/Input [7] OpenGraph:https://github.com/OpenSwiftUIProject/OpenGraph [8] Sharing GRDB :https://github.com/pointfreeco/sharing-grdb [9] 精确掌控 SwiftUI 滚动:自定义 Paging 实现:https://fatbobman.com/
[6] 提问 目前正在寻求迁移到更轻量级的解决方案(realm 目前对我的用例来说太过分了)并且想迁移到 grdb,但不必将 realm 作为依赖项持续一年或更长时间...... 这将允许您使用 “Realm-only”、“Realm-to-GRDB” 和最终的 “GRDB-only” 版本进行过渡。
2.环境简介 语言:Swift 5.4 UI框架:UIKit 包管理工具:CocoaPods 布局框架:SnapKit 5.0.0 本地数据库管理库:GRDB.swift 3.项目截图 4.代码逻辑简述
Frequency Enhancement Pahse 在完成低频/中频/高频成分提取后,作者提出了一种FEU(Frequency Enhancement Unit)进行频率增强,具体来将,FEU是在GRDB
10] Point-Free: https://x.com/pointfreeco [11] SharingGRDB: https://github.com/pointfreeco/sharing-grdb
此外,文中还列出了一些替代方案,如 GRDB、CoreStore、Boutique 等,供不同需求的开发者参考。
GitHub - groue/GRDB.swift: A toolkit for SQLite databases, with a focus on application development 代码规范