A collection of utilities for building Core Data applications in SwiftUI.
This library is still very much a WIP as I study/experiment with/develop best practices, patterns, and affordances for Core Data after the releases of Swift 5.5 and "SwiftUI 3.0". Please treat it as a guideline/reference for the time being 🙂.
CoreDataManagerthat handles setting up a "Core Data Stack".
rich set of utilitiesfor performing Core Data migrations.
FetchedResultsControllingprotocol that helps architect
NSFetchedResultsControllerinstances and extract data from their
NSPredicateinstances in a strongly-typed fashion.
NSPersistentStorehelpers for using different SQLite writing locations in development and production.
Swift Packages ->
Add Package Dependency and enter
You can add this project as a package dependency in your
let package = Package( //... dependencies: [ .package( url: "https://github.com/CypherPoet/CoreDataKit", .exact("0.0.19") ), ], //... )
From there, refer to the
CoreDataKit "product" delivered by the
CypherPoetCoreDataKit "package" inside of any of your project's target dependencies:
targets: [ .target( name: "YourLibrary", dependencies: [ .product(name: "CoreDataKit", package: "CypherPoetCoreDataKit"), ], ... ), ... ]
import CoreDataKit wherever you’d like to use it.
Currently, usage of these utilities is best demonstrated by the various example applications here. But a few pointers...
Documentation is generated by Swift Doc. Installation instructions can be found here, and as soon as you have it set up, docs can be generated simply by running
./Scripts/generate-html-docs.zsh from the command line.
📝 Note that this will only generate a
.build/documentation folder for you to view locally. This folder is being ignored by
git, and a GitHub action exists to automatically generate docs at the root level and serve them on the project's
CypherPoetCoreDataKit is available under the MIT license. See the LICENSE file for more info.
|Last commit: 2 weeks ago|