Select Page

Mastering Core Data With Swift

“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've Never 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 how to use Core Data. This has taught me what the common pitfalls are developers run into. In Mastering Core Data With Swift 3, I show you the pitfalls you need to avoid.

The video course follows a proven roadmap that starts with the fundamentals of the framework. We cover some 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 8 and Swift 3

In Mastering Core Data With Swift 3, 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 8 has many improvements that make working with Core Data fantastic. And the intuitive syntax of Swift 3 adds the cherry on the cake. It has never been easier to get started with Core Data.

Building a Real Application

We start the course 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.

During the course, 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.

Let’s Build Notes

… 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 are essential for building a robust, scalable Core Data application. This is a common mistake developers new to Core Data make.

“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.”

Even though I was already familiar with MVVM, Bart’s course 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

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

Rakesh Kusuma

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

You made a daunting subject a lot more manageable.

Kitson Broadhurst

A big thank you. This has been the single most effective course 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

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 This Course for you?

You Want to Learn Core Data

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

You Are 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.

You Have Tried Learning Core Data but It 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 is not difficult. Mastering Core Data With Swift 3 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 less than three hours how to use and integrate Core Data in a modern application powered by Swift.

Frequently Asked Questions

When does the course start and finish?

The course starts now and never ends. You learn at your own pace. You decide when you start and when you finish. I am here to help you along the way if anything’s unclear.

How long do I have access to the course?

How does lifetime access sound? After purchasing the course, you have unlimited access to this course for as long as you like. You can access the course on any device you own.

What if I am unhappy with the course? Can I get a refund?

I would never want you to be unhappy. If you’re unsatisfied with your purchase, contact me within the first 30 days and I’ll give you a full refund.

Something’s not clear. Where can I get help?

If you need help with something related to the course, then get in touch with met at [email protected] I’m here to help you finish the course successfully.

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

Who Am I?

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.

“I have to admit that I didn’t realize Core Data wasn’t terrible to use. Don’t believe everything you read.”

Course Curriculum


Module 1 Before We Start

  • What Is Core Data
  • Building Notes

Module 2 Core Data's Heart

  • Exploring the Core Data Stack
  • Creating the Project
  • Setting Up the Core Data Stack
  • Core Data and Dependency Injection

Module 3 Core Data's Brain

  • Data Model, Entities, and Attributes
  • Data Model, Entities, and Relationships
  • Configuring Relationships

Module 4 Core Data's Workhorses

  • Working With Managed Objects
  • Subclassing NSManagedObject

Module 5 Let's Build Notes

  • Adding a Note
  • Don't Forget to Save
  • Fetch Those Notes
  • Fix That Mistake
  • To the Trash Can

Module 6 Core Data on Steroids With NSFetchedResultsController

  • Introducing the Fetched Results Controller
  • Exploring the NSFetchedResultsControllerDelegate Protocol

Module 7 Categorizing Notes

  • Adding Categories to the Mix
  • Adding a Dash of Color
  • Data Model Migration
  • Versioning the Data Model

Module 8 Tagging Notes

  • Assigning Tags to a Note

Module 9 Core Data and Concurrency

  • Working In a Multithreaded Environment
  • Updating the Core Data Manager for Concurrency
  • Using a Better Core Data Stack

Module 10 Introducing the NSPersistentContainer Class

  • Replacing the Core Data Manager Class

Module 11 A Few Words About Faulting

  • Understanding Faulting

Where to Go From Here

The Book

You’re on a budget? No problem. Everything you need to know to learn and implement the Core Data framework is included in the book. You also receive the source files for each chapter.

If the price is an issue, then I highly recommend choosing the book. The book also comes with a 30 day money back guarantee. I only want happy students.

The Video Course

The video course includes 29 high quality videos with each lesson zooming in on a key aspect of the Core Data framework. A picture speaks a thousand words, but video goes one step further.

Join me as I walk you through the application we build in the course. You have access to the source files of each lesson and, if you run into a problem, you have direct access to me in the comments or through email. I’m here to help you succeed.

The Complete Package

You want the complete experience. This package includes the book as well as the video course. You have direct access to me and the source files of the lessons of the video course.

The Coaching Package

This option is ideal if you want to learn the Core Data framework without running into obstacles. This option includes the video course, the book, the source files, and two 30 minute sessions with myself.

These sessions are invaluable if you want to get unstuck or you want to get feedback on a problem you’re struggling with that relates to Core Data. These coding sessions are a surefire way to up your game as a developer.