Core Data has a popular opinion of being hard to use, especially in concurrent environments. Why is that the case? First, it truly is complex because it solves a hard problem. Second, until WWDC16 Apple haven’t really said how to best set up the Core Data stack. There were many options, each with its own issues, that we had to choose from.
That’s why I’m super happy that things get clearer in iOS 10 with the introduction of NSPersistentContainer.
Core Data
Creating an OS X Core Data Helper App
Do you ever find you need to pre-populate an iOS Core Data app with some data and wanted to create and edit that data with a full OS X desktop app? If you have only ever developed for iOS you may not consider this approach because OS X seems at first to be more complicated. Convinced that it could not be that hard I thought I would give it a go and share my work.
Kipu for iOS
Kipu eases your every day job of parsing a JSON response and getting it into CoreData. It uses a convention over configuration paradigm to facilitate your workflow.
Core Data and Asynchronous Fetching
As of iOS 8 and OS X Yosemite, it’s possible to asynchronously fetch data. In this tutorial, we’ll take a closer look at how to implement Core Data asynchronous fetching and in what situations your application can benefit from this new API.
Distributing CoreData Entities Over a Network with Swift
NetworkObjects is a distributed object graph inspired by Apple’s WebObjects. This framework compiles for OS X and iOS and serves as the foundation for building powerful Swift servers as well as serving as a cross-platform alternative to Cocoa’s Distributed Objects.
SugarRecord for iOS
A Core Data management library written in Swift. Thanks to SugarRecord you’ll be able to start the Core Data stack structure just with a line of code and start working with your database models using closures thanks to the fact that SugarRecord is completely written in Swift.
Using NSURLProtocol with Swift
In this NSURLProtocol tutorial you will learn how to work with the URL loading system and URL schemes to add custom behavior to your apps.
In this NSURLProtocol tutorial, you’ll learn how to define a protocol handler that modifies URL schemes. It will add a rough and ready transparent caching layer, by storing retrieved resources in Core Data. By enabling it, an ordinary UIWebView can then take on the role of a browser by caching downloaded pages for offline viewing at a later time.
AlecrimCoreData – Swift Based Core Data Wrapper
Here’s a library submitted by Vanderlei Martinelli called AlecrimCoreData that provides a Swift based wrapper for Core Data inspired by MagicalRecord and Linq.
AlecrimCoreData provides extensive features for fetching, creating, updating and saving entities and allows you to easily fetch and save entities in a background thread if desired.
A nice library for working with Swift in Core Data.
Core Data Editor – Open Source Tool For Editing Core Data Databases
The Core Data Editor has improved considerably since first mentioned and now has now been open sourced by developer Christian Kienle as he can no longer maintain the project.
Here’s an image showing the browsing capabilities of the Core Data Editor:
Groot – From JSON to Core Data and back.
With Groot you can convert JSON dictionaries and arrays to and from Core Data managed objects.