The SwiftUI and Core Data
Mastery Course

This course teaches you how to build a feature-rich and complex app with Core Data. Write code that is simple, scalable, and a joy to work with.

Black Friday Sale

Get a 50% Discount!

Expires Dec 10th 2024

Days
Hours
Minutes
Seconds

What’s the deal with Core Data?

Mastering Core Data is still a very popular skill for iOS developers. Because Core Data is built on top of SQLite, it is a great and powerful local data storage option. Thankfully, Apple made working with Core Data in SwiftUI super convenient. They provide us with environmental support and property wrappers like @FetchReqest. It is a little tricky to get started with, but once I show you a lot of tips and tricks, you will be able to handle Core Data with ease.

 The application we are building is a note-taking system with keyword tags and links to other notes. It will become quite a complicated data model. We will work with relationships and see how to store rich text and images in core data. We will take advantage of the database to implement advanced search functions.

In 2023, SwiftData was introduced, which is meant to replace Core Data. Unfortunately, it remains buggy and has limited features compared to Core Data. Therefore, I don’t recommend using SwiftData. In the future, if you target iOS 18+, it might be worth a look. Choose carefully. You might miss a lot of opportunities going with SwiftData.

What app will we build together in this course?

In this course, we’ll create a digital version of the Zettelkasten note-taking system, originally developed by German social scientist Niklas Luhmann. This system, which helped Luhmann publish numerous books and papers, involves an intricate network of notes linked together, functioning like a “second brain.” Our project will transform this concept into a digital format, making it an ideal challenge to explore the capabilities of SwiftUI and Core Data.

Project-Based Course

Most courses teach simple concepts and give an overview of all the different features of SwiftUI. In order to master development, there is nothing better than building a fully fletched application. In this course, we will go through all the main steps. I want to showcase the whole development process with SwiftUI. From app idea to MVP. You will get to know my workflow and how I make my design decisions. Follow me along in creating this amazing app.

Use one codebase to build for the iPhone and iPad. You are going to use SwiftUI´s new Navigation API.

NavigationSplitView with 3 columns works great for larger screens like the Mac and iPad in landscape mode.
Tapping on a linked note, opens the note. We will use NavigationStack on iOS to create a continues navigation.

Join me to build not just an app, but a comprehensive learning experience that will elevate your skills in SwiftUI and Core Data.

What you will learn in this course?

  1. Setting up the project: First, you will create a new project with SwiftUI and Core Data. I will teach you the basics of Core Data, like how to fetch data and manipulate data in the database. Learn how to sync data with iCloud sync.
  2. Unit tests: In the second section, I will discuss unit tests. They can be very useful when you want to test code. You will practice Core Data operations with unit tests because they make it easy to implement one test case at a time
  3. Schema Attributes: Now, we will dive deeper into the ins and outs of Core Data. I will show you how to describe the model. You will learn how to work with types supported by Core Data and how to store enums, colors, and images.  

  1.  Relationships: In this section, you will learn about relationships. We will implement 1-1, 1-many, and many-many relationships for our note-taking app and see how Core Data handles much more complex data.
  2. Fetch Request with Predicates: In this section, you will learn how to search for specific information in the database. You will get familiar with how to write queries with NSPredicate.
  3. Notes Sorting and Searching: You will use your new knowledge about NSPredicate to implement advanced search functionality in SwiftUI. I will show you how to use the searchable view modifier with search scope and tokens.

Black Friday Sale

Get a 50% Discount!

Expires Dec 10th 2024

Days
Hours
Minutes
Seconds

Course Content

Expand All
Introduction to the project
1. Setting up the Project
Lesson Content
0% Complete 0/1 Steps
2. Unit tests
3. Schema Attributes
4. Relationships
5. Fetch Request with Predicates
6. Notes Sorting and Searching

FAQ

ask Me
anything

This course is tailored for beginner to intermediate developers with a basic Swift and SwiftUI foundation. It’s perfect for those who  want to expand their skills into building large, complex applications.

This is not an absolute beginner course. You will need a basic knowledge of the Swift programming language and SwiftUI.

Absolutely! This course is regularly updated to ensure it includes all the new SwiftUI features and enhancements. I strive to provide you with the most up-to-date content, including any updates introduced in iOS 16. Core  Data did not change much over the last few iOS version. This makes it easy to support multiple verions iOS 16 to 18.

No. I will update this course in the future and you will have access to it without additional costs. You pay once and all future updates are included.

The total course duration is approximately 4 weeks if you commit around 3-5 hours per week. However, you can work at your own pace, and you will have lifetime access to the course materials once you enrol.

Yes, by the end of this course, you will have one large project that includes a variety of SwiftUI examples with Core Data. This project can serve as a reference guide. You can use the code for your own projects.

Yes, of course. If you are not happy with my course, I will give you a full refund. You have a 30 day money-back guarantee.

Black Friday Sale

Get a 50% Discount!

Expires Dec 10th 2024

Days
Hours
Minutes
Seconds

Here's what you're getting:

Karin Prater

iOS Developer and Educator

I have a Ph.D. in physicist, during which I started to love software engineering. Since I am also passionate about learning I started to build my own learning app.

I am also very enthusiastic about design, which is a bit unusual for most physicists, I am putting a strong focus on the UI part. In my courses, you will jump right into the subject and learn to design by actually designing.

From my former teaching experiences, I know that learning by trying is the most fun. So I will encourage you to use the tools I am showing you directly in your own projects. May they be small or grant.

© Copyright 2024. All rights reserved