Book Image

An iOS Developer's Guide to SwiftUI

By : Michele Fadda
Book Image

An iOS Developer's Guide to SwiftUI

By: Michele Fadda

Overview of this book

– SwiftUI transforms Apple Platform app development with intuitive Swift code for seamless UI design. – Explore SwiftUI's declarative programming: define what the app should look like and do, while the OS handles the heavy lifting. – Hands-on approach covers SwiftUI fundamentals and often-omitted parts in introductory guides. – Progress from creating views and modifiers to intricate, responsive UIs and advanced techniques for complex apps. – Focus on new features in asynchronous programming and architecture patterns for efficient, modern app design. – Learn UIKit and SwiftUI integration, plus how to run tests for SwiftUI applications. – Gain confidence to harness SwiftUI's full potential for building professional-grade apps across Apple devices.
Table of Contents (25 chapters)
Free Chapter
1
Part 1: Simple Views
5
Part 2: Scrollable Views
8
Part 3: SwiftUI Navigation
11
Part 4: Graphics and Animation
14
Part 5: App Architecture
17
Part 6: Beyond Basics

Reusing views code

In this section, we will learn a refactoring technique for SwiftUI views: extracting subviews.

You can structure your code any way you want, but if you allow your code to contain many duplicates for the same functionality, you will end up having to replace and correct multiple instances of the same fragments of code whenever you change anything. This is both boring and prone to error, and it involves having to work more in order to achieve little.

We want to show you an important “trick” that allows you to better structure your code. As you build larger and more intricate UI screens and apps, you will often notice that the same elements and groups of views will need to appear identical in several places inside the same app.

Of course, rewriting all of them from scratch every time and inside a content view would eventually create a giant, messy blob of difficult-to-understand code.

Let’s examine for instance a very simple view containing...