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)


In this chapter, we took the basic structure of our app to the next level. We started by creating another View, which took data that we selected from a list in our previous view. We looked at how we can reuse our mock data to make working on the preview provider a much easier (and more beneficial experience).

Next, we introduced ourselves to navigation and how the navigation stack works within mobile apps. We hooked up our new and existing Views, which allowed us to interact between the two.

Finally, we learned how to use EnvironmentObject to inject and give us a global object that can be used anywhere in our app. We then modified our logic to make use of our new environment, reducing the need for us to use our previously written logic.

In our next chapter, we'll create another View that we'll use to create and add our own recipe. We'll integrate this directly...