Mastering Core Data With Swift

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."

Bart Jacobs

"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 how to use Core Data. This has taught me what the common pitfalls are developers run into. In Mastering Core Data With Swift, 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 9 and Swift 4

In Mastering Core Data With Swift, 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 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."


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.

Figure core data 1

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.

… 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.

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.

"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

"You made a daunting subject a lot more manageable."

Kitson Broadhurst

"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 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, 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 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'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 is not difficult. Mastering Core Data With Swift 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.

Can I get a refund if I'm not happy?

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.

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 Course 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

Choose Your Package

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 Course

The course includes 29 high quality videos with each lesson zooming in on a key aspect of the Core Data framework.

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.

This course doesn’t just teach you Core Data. It goes well beyond that. It shows you how a modern mobile application is built and how Core Data fits in. Don't worry, though, it's easier than you think.

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.