CoreStore
Fish
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CoreStore
-
Core data example
It’s not from Apple, but there’s a framework called CoreStore which you might find easier to pick up initially.
-
How to manage instances of a class
Core Data (and CoreStore, which is backed by Core Data) is an object persistence system (so objects can survive between application sessions), which lets you work with the objects in a more database-like way. For example, you can ask for all the instances of a Person object which match a predicate like the pets relationship is not nil. You can think of it like a more advanced version of arrays and sets.
-
Details View using CoreData
If you’re just starting out with Core Data, you may want to take a look at CoreStore. It’s an external dependency, but it does feel much more at home in Swift. Less of the constant optional unwrapping, for one.
-
Finally acquainting myself with CoreData after 10 years of mostly avoiding it. Very heavy obj-c baggage. Anyone recommend a wrapper?
CoreStore (though iCloud support is still in the works)
-
Items appended in an array are not remembered after restart.
More complicated than that is Core Data. It’s extremely powerful, but pretty weird to use at first. Doesn’t feel very Swift-y (Check out CoreStore for a more Swift feel). This is great for hundreds or thousands of objects. You can retrieve objects which match a particular search predicate, objects can have relationships to one another (e.g, a manager object can have an employees relationship to multiple employee objects), which you can traverse a lot like normal objects-which-contain-objects. This is massive overkill for storing strings, but great for something like a Twitter or Reddit client.
-
CoreData: the burden of the past
All the issues in the article had been solved by CoreStore since Swift’s inception. Check it out
- Store data and update it
-
Swift Playgrounds iPad - Core Data?
CoreStore works really well for pure Swift models: https://github.com/JohnEstropia/CoreStore/blob/develop/Playground_iOS.playground/Contents.swift
-
Realm vs CoreData in 2021. Which do you use and why?
CoreData through CoreStore. Full disclosure: I’m the author of the lib
-
Do you feel that NSFetchedResultsController doesn't fit well with diffable data source?
Source: I am the author of the CoreStore library. The faulting behavior of NSManagedObjects are what makes them incompatible with redux-type architecture (ex: SwiftUI) which is why CoreStore exposes an ObjectSnapshot as a struct wrapper layer for live objects.
Fish
- How to create a separate TextField view in its own file and pass Data Model inside the Content view?
-
Best ways to use CoreData in a MVVM SwiftUI app?
I found this to be a much better approach for medium+ size projects, it seems a little overly complicated at first, but it's cleaner, more stable and it's testable.
- Core data example
- CloudKit + NSFetchedResultsController = Real-Time sync between devices
- Do you explicitly define a ViewModel in your apps?
- Is my understanding of Core Data and its implementation to SwiftUI correct?
-
Is my understanding of arguments and how they relate a view's data to the next correct? Particularly while using Coredata?
This is a very basic demo: https://github.com/Rillieux/Fish
- Question Core Data and Viewmodels
- Can we use SwiftUI, with MVVM
- How to design a "computed model" that plays nicely with Core Data and SwiftUI?
What are some alternatives?
encrypted-core-data - v2.0 - iOS Core Data encrypted SQLite store using SQLCipher
Contacts - Contacts is an example of SwiftUI life-cycle application using CoreData and MVVM Architecture. **NOTE** this is a work-in-process which has only begun.
Realm - Realm is a mobile database: a replacement for Core Data & SQLite
QueryKit - A simple CoreData query language for Swift and Objective-C.
MagicalRecord - Super Awesome Easy Fetching for Core Data!
AlecrimCoreData
Cadmium - A Swift framework that wraps CoreData, hides context complexity, and helps facilitate best practices.
JSQCoreDataKit - A swifter Core Data stack
GRDB.swift - A toolkit for SQLite databases, with a focus on application development
SugarRecord - CoreData/Realm sweet wrapper written in Swift
AERecord - Super awesome Swift minion for Core Data (iOS, macOS, tvOS)
Sync - JSON to Core Data and back. Swift Core Data Sync.