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

Using the async/await syntax

The async/await syntax is the backbone of this structured concurrency. Let’s begin by understanding the async keyword.

async in Swift means that a function will perform some asynchronous operation, suspending the thread till the operation completes, and returning only when that operation is complete. Unlike a standard function, a function marked with the async keyword doesn’t block the caller but, rather, allows it to continue executing other tasks.

This is useful to perform IO-bound tasks, computationally intensive calculations, networking calls, and file operations, as it won’t stop the CPU while waiting – for instance, while waiting for data from a network operation.

An example of a Swift async function, illustrating the async syntax, is the following example code fragment:

// an example async function
import Foundation
func fetchData() async -> Data {
    // perform a network call
 ...