"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."
"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?
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.
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.
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."
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.
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.
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."
"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."
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.
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.
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.
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.
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 Is Core Data|
|Exploring the Core Data Stack|
|Creating the Project|
|Setting Up the Core Data Stack|
|Core Data and Dependency Injection|
|Data Model, Entities, and Attributes|
|Data Model, Entities, and Relationships|
|Working With Managed Objects|
|Adding a Note|
|Don't Forget to Save|
|Fetch Those Notes|
|Fix That Mistake|
|To the Trash Can|
|Introducing the Fetched Results Controller|
|Exploring the NSFetchedResultsControllerDelegate Protocol|
|Adding Categories to the Mix|
|Adding a Dash of Color|
|Data Model Migration|
|Versioning the Data Model|
|Assigning Tags to a Note|
|Working In a Multithreaded Environment|
|Updating the Core Data Manager for Concurrency|
|Using a Better Core Data Stack|
|Replacing the Core Data Manager Class|
You're not sure if Cocoacasts Plus is for you? Start with the monthly plan. You can cancel in less than a minute.
How important is your career to you? How committed are you to becoming a better developer?
You don't like subscriptions? I hear you. Pay once and access Cocoacasts Plus for as long as its around.