Core Data Fundamentals

This Is No Rocket Science

Does This Sound Familiar?

"I want to learn Core Data, but I don’t know where to start."

Every Swift Developer

"I was frustrated with Core Data until I took the time to learn the fundamentals."

Yours Truly

"Core Data is difficult to use."

I Prefer to Stay Anonymous

"I don’t have the time to learn the framework."

I Use a Core Data Library as a Shortcut

"Core Data is verbose and has a terrible API."

I Never Really Tried to Use Core Data

The first time I came into contact with Core Data was more than ten years ago. I was immediately overwhelmed by the terminology, the complex setup, and the many rules I had to stick to.

Does this sound familiar? I wondered if it was worth the hassle? And why did experienced developers swear by Core Data? How was I going to master Core Data and integrate it into an application without running into mysterious crashes?

The Solution Was Surprisingly Simple

Whenever I teach developers Core Data, I emphasize how important it is to focus on the fundamentals first. The vast majority of issues developers run into are caused by a lack of knowledge about the ins and outs of the framework. Core Data isn’t difficult if you understand how the framework works.

A Proven Roadmap to Master Core Data

Over the years, I’ve taught thousands of developers about the Core Data framework. That has helped me identify the common pitfalls developers run into. In Core Data Fundamentals, I show you those pitfalls and how to avoid them.

The series follows a proven roadmap that starts with the fundamentals of the framework. We cover a bit of theory, but, more importantly, you immediately apply what you learn to build a real application. Practice makes perfect. Right? This very much applies to any programming subject.

Ready for Xcode 9 and Swift 4

In Core Data Fundamentals, you learn everything you need to know to integrate Core Data in a new or an existing Swift project. We focus on the key players of the framework and build an application that takes advantage of the core features of the framework.

We use the latest and greatest to build an application. Xcode 9 has many improvements that make working with Core Data fantastic. And the intuitive syntax of Swift 4 adds the cherry on the cake. It has never been easier to get started with Core Data.

"When things hit the fan, I just don’t know what to do. I’ve never taken the time to learn the fundamentals of the framework."

Student

Building a Real Application

We start the series with an exploration of the heart of every Core Data application, the Core Data stack. We then take a closer look at the data model of a Core Data application. You learn about entities, attributes, and relationships. These are the ingredients of every Core Data application.

Figure core data 1

During the series, we build an application that manages notes. We start from scratch, build a Core Data stack, create a data model, and add several features, such as categories and tags. Every feature teaches you a new concept of the Core Data framework.

… And Beyond the Basics

We don’t skip the more advanced features of the framework. We discuss data model migrations, working with multiple managed object contexts, and using Core Data in a multithreaded environment.

While some of these topics may seem advanced, they're essential for building a robust, scalable Core Data application. This is a common mistake developers new to Core Data make.

You can find many, many tutorials and courses about Core Data, many of them free, but most of them are out of date, incomplete or, even worse, incorrect. With Core Data Fundamentals, you learn Core Data once and be done with it.

"Even though I was already familiar with MVVM, Bart's series showed me a different perspective on MVVM by refactoring a complete application built with MVC. He illustrates how MVVM can improve a project's architecture and testability, and how reactive programming fits in."

Damian Esteban, Chief Technology Officer, betterPT

"Cocoacasts Plus is for me. The content is awesome and the commitment is great. I'm a Mobile Developer Advocate at AWS and my focus is on iOS. I use your best practices when providing samples, tutorials, or writing snippets of code for a blog."

Dennis Hills, Mobile Developer Advocate, Amazon

"It has been a pleasure to work with Bart. I've found him to be diligent, conscientious, and reliable. His own competence has made my job much easier. And his skill as an iOS developer continues to amaze me."

Adam Brown, Code & Mobile Development, Envato

"Bart helped me understand and implement MVVM in an existing project that suffered from Massive View Controller syndrome. We analyzed the problem, developed a strategy, and refactored the view controller, using MVVM and reactive programming. The result is a lean view controller and a focused view model that's easy to test."

Win Raguini, Lead iOS Developer, MasterClass

"This is one of the finest Swift material available on the internet. Thank you."

Rakesh Kusuma

"A big thank you. This has been the single most effective series I've taken about iOS. I put it into practice right away and our App Store app, and its testing, has benefited greatly."

Jake Young, Chief Information Officer, ACP Decisions

"This is by far the best explanation of Core Data I have read. After working on my first Core Data project for the last three days, I actually understand what you are saying here."

Gravity Zero Design

"Wow, I really love these tutorials. Great job. You are very good at explaining things from the ground up in a way that is both fast (not boring) and yet comprehensive."

Jonas Nelle

Is Core Data Fundamentals for You?

You Want to Learn Core Data

You already have experience building applications using Swift and Xcode. You're ready to step up your game and add Core Data to the mix.

You're Frustrated With Free Tutorials

There are many tutorials and courses available. Most of them are out of date and many of them don’t teach how to correctly use Core Data in a modern Cocoa application. You want to learn Core Data once and be done with it.

Core Data Hasn’t Clicked Yet

I’ve been there and I know exactly how it feels to hit that wall. I promise you that Core Data isn't difficult. Core Data Fundamentals shows you the path of least resistance. And don’t forget that I’m here to help you.

You Want to Learn From a Professional

There are hundreds of free tutorials and videos to learn Core Data. I’ve been using Core Data for more than ten years. I show you in a few hours how to use and integrate Core Data in a modern application powered by Swift.

Who Is Your Teacher?

About round 400

My name is Bart Jacobs and I’m the founder of Code Foundry, a mobile development company. I’ve been teaching since 2004 and I currently focus primarily on teaching Swift developers how to create robust, scalable applications for Apple’s platforms using Swift and the Cocoa frameworks.

I’m crazy about film music and I have a soft spot for tea and coffee. I’m currently weaned off coffee, but we’ll see how long that lasts.

What Does the Series Cover?

1. Before We Start
What Is Core Data
Building Notes
2. Core Data's Heart
Exploring the Core Data Stack
Creating the Project
Setting Up the Core Data Stack
Core Data and Dependency Injection
3. Core Data's Brain
Data Model, Entities, and Attributes
Data Model, Entities, and Relationships
Configuring Relationships
4. Core Data's Workhorses
Working With Managed Objects
Subclassing NSManagedObject
5. Let's Build Notes
Adding a Note
Don't Forget to Save
Fetch Those Notes
Fix That Mistake
To the Trash Can
6. Core Data on Steroids With NSFetchedResultsController
Introducing the Fetched Results Controller
Exploring the NSFetchedResultsControllerDelegate Protocol
7. Categorizing Notes
Adding Categories to the Mix
Adding a Dash of Color
Data Model Migration
Versioning the Data Model
8. Tagging Notes
Assigning Tags to a Note
9. Core Data and Concurrency
Working In a Multithreaded Environment
Updating the Core Data Manager for Concurrency
Using a Better Core Data Stack
10 Introducing the NSPersistentContainer Class
Replacing the Core Data Manager Class
11 A Few Words About Faulting
Understanding Faulting

Subscribe to Cocoacasts Plus and
Start Mastering Core Data With Swift

Monthly

Buy me lunch once a month and I'll teach you everything I know.
How does that sound?

Yearly

Do you like discounts? Choose the yearly plan and save six months. That's only $7 per month.