Book Image

iOS 15 Programming for Beginners - Sixth Edition

By : Ahmad Sahar, Craig Clayton
5 (1)
Book Image

iOS 15 Programming for Beginners - Sixth Edition

5 (1)
By: Ahmad Sahar, Craig Clayton

Overview of this book

With almost 2 million apps on the App Store, iOS mobile apps continue to be incredibly popular. Anyone can reach millions of customers around the world by publishing their apps on the App Store. iOS 15 Programming for Beginners is a comprehensive introduction for those who are new to iOS. It covers the entire process of learning the Swift language, writing your own app, and publishing it on the App Store. Complete with hands-on tutorials, projects, and self-assessment questions, this easy-to-follow guide will help you get well-versed with the Swift language to build your apps and introduce exciting new technologies that you can incorporate into your apps. You'll learn how to publish iOS apps and work with Mac Catalyst, SharePlay, SwiftUI, Swift concurrency, and much more. By the end of this iOS development book, you'll have the knowledge and skills to write and publish interesting apps, and more importantly, to use the online resources available to enhance your app development journey.
Table of Contents (32 chapters)
1
Part 1: Swift
10
Part 2: Design
15
Part 3: Code
25
Part 4: Features

Improving efficiency using async-let

Even though your app is now responsive to button taps and is able to update the user interface while the makeToast() and poachEgg() methods are running, both methods still execute sequentially. The solution here is to use async-let. Writing async in front of a let statement when you define a constant, and then writing await when you access the constant, allows parallel execution of asynchronous methods:

async let temporaryConstant1 = methodName1()
async let temporaryConstant2 = methodName2()
await variable1 = temporaryConstant1
await variable2 = temporaryConstant1

Here, methodName1() and methodName2() will run in parallel.

You will modify your app to use async-let to enable the makeToast() and poachEgg() methods run in parallel. In the ViewController file, modify the code in the Task block as follows:

Task {
   let startTime = Date().timeIntervalSince1970
   toastLabel.text = "Making toast..."...