
Learn to build a watchOS app with SwiftUI and Core Data, including a persistence controller, environment-managed context, and CRUD operations, plus sorting, filtering, and navigation.
Create a watchOS tasks app project from the watch app template, choose SwiftUI, name your product, and organize code into db and views groups.
Set up core data by adding a data model with todo and folder entities, define attributes, create a singleton persistent controller, and expose the context to watch extension views.
Create an add new folder view in a watchOS SwiftUI app, enabling folder name input, color selection, and saving to Core Data with dismissal and list refresh.
SwiftUI has changed the entire dynamics of app development in iOS space. Now developing for watchOS is as easy as dropping reusable SwiftUI views into the app and run them against the correct target.
In this course, we are going to work on WatchOS and SwiftUI. With the introduction of SwiftUI, a lot of UI development have been combined and learning has become easy. For example, most of the concepts of SwiftUI that you learn and apply on iOS, iPadOS, MacOS and TVOS are same. WatchOS has different specs as far as the hardware, screensize etc goes so SwiftUI adapts to those changes and provides a look that works of WatchOS but the code you write is pretty much same as SwiftUI for iOS.
We will start our journey of WatchOS by building a clone of Reminders app, which is present in your Apple Watch. we will learn to build watchOS app in SwiftUI. You will be recreating tasks or reminders app from scratch in this course using SwiftUI and CoreData and while building this app you will also learn about WatchOS.
Learning Objectives
* Building WatchOS App using SwiftUI
* CoreData in WatchOS
* Loading data from CoreData
* PersistentController for CoreData Initialization
* Using ManagedObjectContext with Environment
* Usage of FetchRequest and FetchResults
* Sorting, Filtering Data in CoreData
* Navigating between Screens in WatchOS
* CRUD (Create, Read, Update, Delete) Operations in CoreData
* Presenting and Dismissing Screens in WatchOS using SwiftUI
* Reusing Screens for Different Operations based on Context
* SwiftUI Design in WatchOS
* Lists in WatchOS
* View Modifiers