Swift by Sundell - Swift by Sundell Newsletter #28

View this email in your browser
The Swift by Sundell Newsletter
Issue #28 - December 2020

šŸ‘‹ Hi everyone

A few weeks ago, I announced that my upcoming 200th weekly article will be my last, but of course that doesnā€™t mean that Iā€™ll stop writing articles completely. Quite the opposite, really.

While Iā€™ll soon share more details around how Swift by Sundell will evolve once I hit that 200 mark, and what my overall plans for 2021 are, I just wanted to assure you all that my commitment to sharing my work with the Swift community is as strong as it has ever been.

Basically, as long as you keep reading, listening, sharing and occasionally checking out my sponsors, then Iā€™ll keep writing and podcasting. But I think itā€™s important to mix things up every once in a while, and after writing weekly articles non-stop since the beginning of 2017, I feel like 200 is a nice number to wrap up that particular series on.

But now, letā€™s get started with the recap of Novemberā€™s articles and podcast episodes. And like always, if youā€™d like to send me any questions, comments or feedback, then just hit the reply button. I read every single email that I get through this address.

 

šŸ“– Weekly articles

For 198 weeks, Iā€™ve been publishing a new article about Swift every Sunday. These articles were added during the past month:

 

Formatting numbers in Swift

Formatting numbers into human-readable strings can often be tricker than expected. Letā€™s explore why that is, and what kind of tools and techniques that can be good to keep in mind when formatting different kinds of numbers.

 

SwiftUI and UIKit interoperability - Part 1

A closer look at how SwiftUI and UIKit can be combined in various ways, starting with how we can bring increasingly complex UIKit-based views and view controllers into the declarative world of SwiftUI.

 

SwiftUI and UIKit interoperability - Part 2

In this second article about integrating SwiftUI and UIKit, weā€™ll take a look at how SwiftUI views can be embedded within UIKit-based view controllers, and various ways of sharing state between them.

 

Extending Combine with convenience APIs

How custom Combine operators and convenience APIs can be implemented using extensions, and how doing so can let us eliminate common sources of boilerplate when implementing things like networking and data validation.

 

Sorting Swift collections

A look at the various sorting APIs that the Swift standard library offers, and how we could augment those APIs in order to make more advanced sorting tasks easier to perform.

 

šŸŽ§ Podcast episodes

The Swift by Sundell podcast is a bi-weekly show featuring special guests from all around the Swift community. You can find it in your podcast player of choice, for example Apple Podcasts or Overcast. These episodes were published during the past month:

 

85: ā€œCross-Apple platform developmentā€, with James Thomson

James Thomson, creator of PCalc, returned to the show to discuss how developers can bring their apps to multiple Apple platforms using technologies like Catalyst and SwiftUI, and how and when it can be a good idea to share code across platforms.

 

86: ā€œMap is a design patternā€, with Daniel Steinberg

Daniel Steinberg joined me to discuss how various functional programming patterns can be adopted in Swift, and how many of those patterns can be found in both the standard library and in frameworks like Combine and SwiftUI.

 

ā­ļø Swift tips

I love to share shorter tips, tricks and techniques with the community. These are the tips that I shared during the past month:

 

Creating custom SwiftUI container views

Although SwiftUI ships with a quite large number of built-in container views, such as VStack, HStack and List, sometimes we might also want to define our own custom containers as well. Here are some tips on how to do that.

 

Statically computed default property values

Various ways of defining default property values, and how static methods and properties can be really useful in that context.

 

šŸ§­ New discover page

Swift by Sundell Discover is a new feature that lets you easily explore everything that the site has to offer on a given topic. This topic was added during the past month:

 

Unit testing

Discover a wide range of tools, tips and techniques for building comprehensive, fast and stable unit testing suites using XCTest and Swift.

 

šŸ˜Š Until next time

Thatā€™s it for this edition! I hope you enjoyed this newsletter. I always love to hear your feedback, so feel free to either reply to this email, or contact me on Twitter @johnsundell. I read every single piece of feedback that I get, and I try to reply to as many people as I possibly can.

Thanks for reading! šŸš€

- John

Copyright Ā© 2020 John Sundell, All rights reserved.
You are receiving this email because you signed up for the Swift by Sundell Newsletter at swiftbysundell.com/newsletter.

Our mailing address is:
John Sundell
Wadowicka 6B/4 SKR 002 A4
KrakĆ³w 30-415
Poland

Add us to your address book


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.

Email Marketing Powered by Mailchimp

Older messages

Swift by Sundell Newsletter #27

Sunday, November 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes and tips published during October 2020. View this email in your browser Issue #27 - November 2020 👋 Hi everyone Swift

Swift by Sundell Newsletter #26

Thursday, October 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes and tips published during September 2020. View this email in your browser Issue #26 - October 2020 👋 Hi everyone Even

Swift by Sundell Newsletter #25

Friday, September 4, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes, answers and tips published during August 2020. View this email in your browser Issue #25 - September 2020 👋 Hi

Swift by Sundell Newsletter #24

Saturday, August 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes, answers and tips published during July 2020. View this email in your browser Issue #24 - August 2020 👋 Hi everyone

Swift by Sundell Newsletter #23

Wednesday, July 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes and tips published during June 2020. View this email in your browser Issue #23 - July 2020 👋 Hi everyone Wow, what a

You Might Also Like

WP Weekly 191 - Essentials - Duplicate in Core, White Label Kadence, Studio for Mac

Monday, April 29, 2024

Read on Website WP Weekly 191 / Essentials It seems many essential features are being covered in-house, be it the upcoming duplicate posts/pages feature in the WordPress core or the launch of Studio

SRE Weekly Issue #422

Monday, April 29, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

Quick question

Sunday, April 28, 2024

I want to learn how I can better serve you ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Kotlin Weekly #404 (NOT FOUND)

Sunday, April 28, 2024

ISSUE #404 28st of April 2024 Announcements Kotlin Multiplatform State of the Art Survey 2024 Help to shape and understand the Kotlin Multiplatform Ecosystem! It takes 4 minutes to fill this survey.

📲 Why Is It Called Bluetooth? — Check Out This AI Text to Song Generator

Sunday, April 28, 2024

Also: What to Know About Emulating Games on iPhone, and More! How-To Geek Logo April 28, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your

Daily Coding Problem: Problem #1425 [Easy]

Sunday, April 28, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Suppose an arithmetic expression is given as a binary tree. Each leaf is an

PD#571 Software Design Principles I Learned the Hard Way

Sunday, April 28, 2024

If there's two sources of truth, one is probably wrong. And yes, please repeat yourself. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

When Procrastination is Productive & Ghost integrating with ActivityPub

Sunday, April 28, 2024

Automattic, Texts, and Beeper join forces to build world's best inbox, Reflect launches its iOS app, how to start small rituals, and a lot more in this week's issue of Creativerly. Creativerly

C#503 Building pipelines with System.Threading.Channels

Sunday, April 28, 2024

Concurrent programming challenges can be effectively addressed using channels ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#453 Get your codebase ready for React 19

Sunday, April 28, 2024

Is your app ready for what's coming up in React 19's release ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌