Book Image

SwiftUI Cookbook - Second Edition

By : Giordano Scalzo, Edgar Nzokwe
Book Image

SwiftUI Cookbook - Second Edition

By: Giordano Scalzo, Edgar Nzokwe

Overview of this book

SwiftUI provides an innovative and simple way to build beautiful user interfaces (UIs) for all Apple platforms, from iOS and macOS through to watchOS and tvOS, using the Swift programming language. In this recipe-based cookbook, you’ll cover the foundations of SwiftUI as well as the new SwiftUI 3 features introduced in iOS 15 and explore a range of essential techniques and concepts that will help you through the development process. The cookbook begins by explaining how to use basic SwiftUI components. Once you’ve learned the core concepts of UI development, such as Views, Controls, Lists, and ScrollViews, using practical implementations in Swift, you'll advance to adding useful features to SwiftUI using drawings, built-in shapes, animations, and transitions. You’ll understand how to integrate SwiftUI with exciting new components in the Apple development ecosystem, such as Combine for managing events and Core Data for managing app data. Finally, you’ll write iOS, macOS, and watchOS apps by sharing the same SwiftUI codebase. By the end of this SwiftUI book, you'll have discovered a range of simple, direct solutions to common problems encountered when building SwiftUI apps.
Table of Contents (17 chapters)

Showing Core Data objects with @FetchRequest

The most critical feature of persistent storage is its fetching capability. We could prebuild a Core Data database and bundle it with our app, which would just read and present the data. An example of this kind of app could be a catalog for a clothes shop, which contains the clothes for the current season. When the new fashion season arrives, a new app with a new database is created and released.

Given the importance of having this skill, Apple has added a powerful property wrapper to make fetching data from a repository almost trivial. In this recipe, we'll create a simple contact list visualizer in SwiftUI. The objects in the repository will be added the first time we run the app, and ContentView will present the contacts in a list view.

Getting ready

Let's create a SwiftUI app called FetchContact.

How to do it…

In this recipe, we will add a bunch of hardcoded contacts to the storage at app startup, ensuring...