Here’s another great learning resource 👌

Hi 👋

To begin this email, I want to share that I’m pretty excited with the content I have lined up for the coming weeks!

Tomorrow the guest of one of my most popular videos from last year will be returning in a new video to share some new tips! (Hint: she’s an ex-Apple engineer 🤫)

After that, I have pilot videos ready for two entirely new formats that I’ll be releasing during the weeks that follow. (and I want to thank the people that took the time to answer my previous email, because your answers really helped me narrow my focus 🙌)

And finally I’ve been working pretty hard on my first paid content. I’ll tell you more about when it will be ready, hopefully it should be very soon!


In previous emails I have already shared with you some of my favorite learning resources.

I’ve received very good feedback for these emails, so I figured: why not write another one?

This time the website I want to share is called objc.io!

(don’t let the name confuse you, its content is very much about Swift!)

To be honest, there’s a good chance you’ve heard of this website at some point, because it’s just filled with great content: videos, books, blog articles, and more!

There’s so much content on this website that I had to make a choice on what to share with you and I decided to focus on the blog articles!

So here are 5 blog articles I really recommend you check out 👇

Transitions in SwiftUI

Transition is the name SwiftUI gives to the animations that will happen when a view is inserted into or taken out of the view hierarchy.

As with many concepts in SwiftUI, transitions can be a great way to elevate the quality of your app, but in order to use them properly it’s very important to build a correct mental model of how they work.

And that’s what this article aims to teach you 😌

Why Conditional View Modifiers are a Bad Idea

Talking about SwiftUI, you might have come across blog posts that showed how to implement a nice modifier that looks like this:

.applyIf(condition: myState, transform: { $0.frame(width: 100) })

While at first glance this seems like a smart trick, it turns out that in most situations this modifier is actually a pretty bad idea 🫢

How an HStack Lays out Its Children

I swear this is the last article about SwiftUI!

HStack is an absolutely central component of SwiftUI. And because it is so central, the more we know about it the better, because that knowledge is guaranteed to come in handy at one point or another.

So how about a deep dive into the algorithm that HStack uses to lay out its child views?

Defunctionalization

You’ve got to hand it to them: the name of this article does manage to sound very intriguing 🤨

I won’t spoil it by explaining what it refers to, but I’ll just say that if you’ve ever looked in The Composable Architecture (or any Redux-style architecture, actually), you probably want to read this!

Conforming Tuples to Protocols

“Non-nominal type 'Foo' (aka '(Int, Int)') cannot be extended”

If you enjoy using tuples to represent simple data structures, you’ve probably already seen this (frustrating) error message, when you tried to make your tuple conform to Equatable or Hashable.

While it’s still not possible to make a tuple conform to a protocol, this article will show you how it’s possible to reach an interesting middle ground!

That’s all for this email, thanks for reading it!

If you’ve enjoyed it, feel free to forward it
to your friends and colleagues 🙌

I wish you an amazing week!

❤️

Previous
Previous

Here are my 5 favorite Swift tips 🤌

Next
Next

Discover dump()