为 macOS 应用添加用户可自定义全局快捷键的 Swift 包,内置快捷键录制界面。
JohnEstropia/CoreStore
为 Core Data 提供类型安全、并发安全 Swift API 的封装库,适用于 Apple 平台应用。
- Star
- 4,048
- Fork
- 257
- 未关闭 Issue
- 98
- 最近提交
- 上个月
这是什么?
CoreStore 是对 Apple Core Data 框架的 Swift 封装。它用更高层的 API 替代了大量 NSManagedObjectContext、NSFetchedResultsController 和 KVO 的样板代码,用于数据的获取、查询、保存与监听。
所有写入都通过串行事务(异步、同步或 unsafe 三种)完成,主线程的 context 保持只读。模型可以用纯 Swift 的 CoreStoreObject 和带类型的 @Field 属性定义,无需 .xcdatamodeld 文件;渐进式迁移则由版本链驱动。项目还提供 Combine 发布者和 SwiftUI 属性包装器。
该库支持 iOS 16+、macOS 13+、watchOS 9+、tvOS 16+,要求 Swift 5.9,可通过 CocoaPods、Carthage 或 Swift Package Manager 安装。
核心功能
- 01所有写入通过串行事务完成,主 context 保持只读。
- 02通过 CoreStoreObject 在 Swift 中声明类型安全的模型,无需 .xcdatamodeld 文件。
- 03基于模型版本链的渐进式迁移。
- 04支持 where、orderBy 及聚合子句的链式获取与查询 API。
- 05为列表和对象提供监听器,并支持 diffable 列表。
- 06提供 Combine 发布者和 SwiftUI 属性包装器。
适用场景
- 在使用 Core Data 的 iOS 应用中,需要更安全的写入并发控制。
- 希望用纯 Swift 代码而非 Xcode 模型文件定义 Core Data 模型。
- 借助 diffable 快照,让 UITableView 或 UICollectionView 随持久化数据更新。
- 需要在多个已发布的应用版本之间管理数据结构迁移。
使用前须知
- 需要 Swift 5.9,且系统版本较新:iOS 16.0+、macOS 13.0+、watchOS 9.0+、tvOS 16.0+。
收录于专题
标签
常见问题
- CoreStore 是什么?
- 为 Core Data 提供类型安全、并发安全 Swift API 的封装库,适用于 Apple 平台应用。 CoreStore 是对 Apple Core Data 框架的 Swift 封装。它用更高层的 API 替代了大量 NSManagedObjectContext、NSFetchedResultsController 和 KVO 的样板代码,用于数据的获取、查询、保存与监听。
- CoreStore 可以免费使用吗?用的什么许可证?
- CoreStore 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- CoreStore 还在维护吗?
- 半年内有更新。CoreStore 最近一次提交是在 2026年10月2日。
- CoreStore 适合用来做什么?
- 在使用 Core Data 的 iOS 应用中,需要更安全的写入并发控制。 希望用纯 Swift 代码而非 Xcode 模型文件定义 Core Data 模型。 借助 diffable 快照,让 UITableView 或 UICollectionView 随持久化数据更新。 需要在多个已发布的应用版本之间管理数据结构迁移。
- 在哪里获取 CoreStore?
- 源代码和安装说明在 GitHub 上:https://github.com/JohnEstropia/CoreStore
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2736+7 本周253SwiftMIT更新于 2个月前
面向 Apple 平台(macOS、iOS、tvOS、watchOS、visionOS)的日志框架,可将日志同时输出到控制台、文件或自定义后端。
1.3万+1 本周2271Objective-CBSD-3-Clause更新于 3天前
一款 macOS 应用,通过图形界面安装并切换多个版本的 Xcode。
8640+10 本周396SwiftMIT维护活跃更新于 25天前
基于 URLSession 构建的 Swift HTTP 网络库,提供链式请求、参数编码、上传下载与响应校验。
4.2万+3 本周7645SwiftMIT更新于 7天前