Swiftpack.co - Package - CypherPoet/CypherPoetCoreDataKit
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.


CypherPoetCoreDataKit Header Image

Twitter: @cypher_poet

A collection of utilities for building Core Data applications in SwiftUI.

🚧 Disclaimer

This library is still very much a WIP as I study some of the new best practices, patterns, and affordances for Core Data after the release of SwiftUI 2.0. Please treat it as a guideline/reference for the time being 🙂.


  • ✅ A CoreDataManager that handles setting up your "Core Data Stack".
  • ✅ A FetchedResultsControlling protocol that helps architect NSFetchedResultsController instances and extract data from their NSFetchRequest results.
  • ✅ Predicate Utilities
  • ✅ Strongly-typed errors for save operations.
  • ✅ NSPersistentStore helpers for using NSSQLiteStoreType in production apps and NSInMemoryStoreType in tests or previews:


Xcode Projects

Select File -> Swift Packages -> Add Package Dependency and enter https://github.com/CypherPoet/CypherPoetCoreDataKit.

Swift Package Manager Projects

You can add CypherPoetCoreDataKit as a dependency in your Package.swift file:

let package = Package(
    dependencies: [
        .package(url: "https://github.com/CypherPoet/CypherPoetCoreDataKit", from: "0.0.16"),

Then simply import CypherPoetCoreDataKit wherever you’d like to use it.


Usage of these utilities is best demonstrated by the Example App.

Setting up the Core Data stack on launch by utilizing CoreDataManager's default shared instance.


Contributions to CypherPoetCoreDataKit are most welcome. Check out some of the issue templates for more info.



  • Xcode 12.0+ (for developing)

Generating Documentation

Documentation is generated by Jazzy. Installation instructions can be found here, and as soon as you have it set up, docs can be generated simply by running jazzy from the command line.

📝 Note that this will only generate the docs folder for you to view locally. This folder is being ignored by git, as an action exists to automatically generate docs and serve them on the project's gh-pages branch.


CypherPoetCoreDataKit is available under the MIT license. See the LICENSE file for more info.


Stars: 2