Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
iOS 18 Programming for Beginners

You're reading from   iOS 18 Programming for Beginners Learn iOS development with Swift 6, Xcode 16, and iOS 18 - your path to App Store success

Arrow left icon
Product type Paperback
Published in Dec 2024
Publisher Packt
ISBN-13 9781836204893
Length
Edition 9th Edition
Languages
Tools
Arrow right icon
Toc

Table of Contents (34) Chapters Close

Preface 1. Part 1: Swift FREE CHAPTER
2. Exploring Xcode 3. Simple Values and Types 4. Conditionals and Optionals 5. Range Operators and Loops 6. Collection Types 7. Functions and Closures 8. Classes, Structures, and Enumerations 9. Protocols, Extensions, and Error Handling 10. Swift Concurrency 11. Part 2: Design
12. Setting Up the User Interface 13. Building Your User Interface 14. Finishing Up Your User Interface 15. Modifying App Screens 16. Part 3: Code
17. Getting Started with MVC and Table Views 18. Getting Data into Table Views 19. Passing Data between View Controllers 20. Getting Started with Core Location and MapKit 21. Getting Started with JSON Files 22. Getting Started with Custom Views 23. Getting Started with the Camera and Photo Library 24. Getting Started with Search 25. Getting Started with Collection Views 26. Part 4: Features
27. Getting Started with SwiftData 28. Getting Started with SwiftUI 29. Getting Started with Swift Testing 30. Getting Started with Apple Intelligence 31. Testing and Submitting Your App to the App Store 32. Other Books You May Enjoy
33. Index

Improving efficiency using async-let

Even though your app is now responsive to button taps and can update the user interface while the makeToast() and boilEggs() 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, as shown here:

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

In this example, methodName1() and methodName2() will run in parallel.

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

Task {
   let startTime = Date().timeIntervalSince1970...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image