Episode 46: Let Me Solve All Your Problems
Welcome to Code Completion, Episode 46! We are a group of iOS developers and educators hoping to share what we love most about development, Apple technology, and completing your code!
Follow us @CodeCompletion on Twitter to hear about our upcoming livestreams, videos, and other content.
Be sure to also sign up to our monthly newsletter, where we will recap the topics we discussed, reveal the answers to #CompleteTheCode, and share even more things we learned in between episodes.
You are what makes this show possible, so please be sure to share this with your friends and family who are also interested in any part of the app development process.
⭐️ This Week's Topics
- Join the Code Completion Club at https://codecompletion.io/jointheclub!
- Indie App Spotlight, with a new app for you to check out:
- Our experience using SwiftUI, best practices, and hidden complexity.
- The best architecture for SwiftUI does not exist.
- Enums are great in Swift, and everyone should use them.
- What announcements we expect at Apple’s California Streaming event.
- Ceramic Apple Watches are a danger to paint jobs everywhere.
🚧 #CompleteTheCode
This week's #CompleteTheCode:
How would you transform the code below to use the new async/await pattern?
1 2 3 4 5 6 7 8 9 10 11
// How would you transform the code below to use the new async/await pattern? print("Preparing request…") urlSession.dataTask(with: httpRequest) { data, response, error in DispatchQueue.main.async { print("Received response: \(response)") } }.resume() print("Sent request!")
Be sure to tweet us with hashtag #CompleteTheCode if you know the answer!
⚠️ Compiler Error
This week's theme: SwiftUI View Modifiers!
- Much like UIKit, SwiftUI allows the interface orientation to be manipulated using
statusBar(orientation:)
, moving the status bar to one of the four screen edges.
- Tooltips can be added to SwiftUI views using the
help(_:)
modifier, helping to guide the user around the interface without them needing to directly invoke any actions.
- Any view in the hierarchy can be modified with
onOpenURL(perform:)
to perform localized URL handling so long as it is part of the hierarchy when the URL is opened.
- A badge can be added to tab bar items using the
badge(_:)
modifier, but this will also add a visual indicator to list rows to help convey supplementary information.
🎁 Sponsor
This week's episode of Code Completion is brought to you by Weekly Swift Exercises! Subscribe to the Mailinglist today to subscribe!