Book Image

Learn SwiftUI

By : Chris Barker
Book Image

Learn SwiftUI

By: Chris Barker

Overview of this book

SwiftUI is the new and powerful interface toolkit that lets you design and build iOS, iPadOS, and macOS apps using declarative syntax. It is a powerful way to develop the UI elements of applications, which would normally be tightly coupled to application logic. Learn SwiftUI will get you up to speed with the framework and cross-device UI development in no time. Complete with detailed explanations and practical examples, this easy-to-follow guide will teach you the fundamentals of the SwiftUI toolkit. You'll learn how to build a powerful iOS and iPadOS application that can be reused for deployment on watchOS. As you progress, you'll delve into UI and unit testing in iOS apps, along with learning how to test your SwiftUI code for multiple devices. The book will also show you how to integrate SwiftUI features such as data binding and network requests into your current application logic. By the end of this book, you will have learned how to build a cross-device application using the SwiftUI framework and Swift programming.
Table of Contents (17 chapters)

Passing data between our app and watchOS

In this section, we are going to learn how to pass data from the parent app straight into the watchOS app. We will do this by updating our recipe list on our watch with a recently added recipe from AddRecipeView().

When watchOS first came on the scene, passing data was a little tricky, to say the least. We first had to create an App Group that was shared by both the iOS app and the watchOS app. Here, we could persist shared UserDefaults, which could be accessed by both the parent app and the watch.

UserDefaults is a lightweight way of storing data in your projects, using a key-value approach. You can easily persist anything from String, Bool, Int, Array, or Data in your app.

With watchOS 2.0 came WatchConnectivitya new and more effective way of sending data from our iOS app straight to our wrist.

The initial API gave us a function...