We’ve already talked about some groundbreaking updates announced on WWDC so, this time, let's dive into a bit more niche topics that might have escaped your attention.
New Stuff
How To Use Throwing Properties to Catch Failures in Swift
Starting from Swift 5.5, we can define throwing computed properties. This feature was introduced alongside the concurrency changes and, if you are interested in how it can be useful to you, SwiftLee posted a nice summary of the topic.
Xcode has always had a slightly special documentation format, but the new DocC format goes even a few steps further. You can host it on a website, build interactive tutorials with it and much more. What more, you ask? Well, check out the SwiftRocks blog post.
SharePlay Release Schedule Update
Are you looking forward to SharePlay? Unfortunately, you will have to keep waiting a bit longer as Apple is apparently facing some difficulties; the feature was disabled in beta 6 releases of the new operating systems, and it’s already been announced that it won't be available in autumn’s initial public releases. Luckily, Apple offers a SharePlay Developer Profile that allows you to continue with developing features leveraging SharePlay.
Top Pick by Paul Hudson
Paul Hudson provides us with tons of great iOS content and, this time, he pointed out one interesting detail he noticed in a WWDC video. It seems that the async-await revolution also brings the "lines" property to "URL" — and it is pure magic.
How To Style SwiftUI Buttons in iOS 15
With iOS 15, Apple introduces a new way to customize buttons in iOS apps for both SwiftUI and UIKit frameworks. Even though the article from AppCoda focuses on the SwiftUI side of the matter, you can find a link to a blog post about the UIKit part in the text.
Good Old Stuff
To not feel dizzy from all the news, let's also have a look at posts that look at things we’re already familiar with from a different angle — or that summarize what we already know.
Numeric Protocols
The Swift numeric protocols hierarchy is... let's call it complex. If you’ve ever been lost in choosing the right protocol to restrict your input parameters while enforcing other behavior at the same time, you should definitely check this relationship schema tweeted by Ole Begemann.
A Better Approach to Writing a UserDefaults Property Wrapper
Jesse Squires came up with an interesting statement: He has never worked on a single production codebase where UserDefaults default values would be handled correctly. If you want to find out about the correct way and a few more UserDefaults best practices, this article is for you.
Using ‘@unknown default’ Within Switch Statements
What would Swiftly Highlights be without a post from John Sundell. This time, we’ve picked a nice reflection on the default case in switch statements with an emphasis on "@unknown default". If you’ve ever been driven crazy by the compiler forcing you to include this case, you should read about how you can actually benefit from it.
That's the question. We’re pretty sure that ten people would give you ten different answers, but it's always beneficial to hear the points of your colleagues. As long as you don't have a really strong opinion on the topic — which would mean there’s a chance the article will drive you crazy — check the reasoning of Antoine van der Lee.
And Finally...
Have you ever written code in VIM? Did you enjoy it? If you are a latent masochist and your answer is "yes," this is great news for you. Xcode 13 brings Vimpocalypse to our lives. Enjoy!
That's it for August. See you next month!