Swift by Sundell - Swift by Sundell Newsletter #21

View this email in your browser
The Swift by Sundell Newsletter
Issue #21 - May 2020

👋 Hi everyone

In the previous edition of this newsletter I shared some thoughts about potentially cancelling it, and asked for your feedback — and wow, did I get a lot of feedback!

I want to sincerely thank everyone who sent their thoughts and opinions my way, and while I replied to as many of you as I possibly could, it turned out to be impossible to reply to everyone. But, like always, I read every single piece of feedback that I got, and I really appreciate everyone who took the time to write to me.

It was really nice to see that, in general, your replies told a completely different story than my website analytics — it seems like this newsletter is in fact very appreciated by many people, despite its very low number of overall clicks.

Based on your feedback, and several other factors (some of which I wrote about in the previous edition), I’ve now decided what I’ll do with this newsletter going forward. I won’t cancel it, but it will change quite significantly, and it will be merged into a larger project that I’ve been working on for the past few months.

I’m not quite ready to reveal what that new project is though. My goal is to launch it along with next month’s newsletter, so on June 1st, but I’m still not 100% sure that I’ll be able to make it. It is, without a doubt, my most ambitious project yet.

So thanks again for reigniting my motivation in terms of working on this newsletter — I really appreciate it! But now, let’s get started with the recap of everything that was published on Swift by Sundell during the last month.

 

📖 Weekly articles

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

 

A guide to the SwiftUI layout system - Part 3

This article wraps up the SwiftUI layout system series with how we can customize the layout behaviors of our views using tools like layout priorities and alignment guides.

 

Published properties in Swift

Let’s explore the topic of published properties, by reimplementing Combine’s @Published property wrapper with support for earlier versions of Apple’s operating systems.

 

Mixing enums with other Swift types

Swift’s enums are really powerful, but they can often be made even more capable when mixed with other kinds of types — such as protocols and structs. Let’s take a look at a few examples of doing just that.

 

Querying collections in Swift

This article is about exploring how we can make use of the standard library’s built-in algorithms when performing various types of queries against collections of values.

 

✅ Basics

With the Basics series, my goal is to build up a comprehensive library of articles that cover most of the core aspects of Swift and iOS development. This article was published during the past month:

 

Protocols

What makes Swift a protocol-oriented language, and how can protocols be used to create abstractions and to enable code reuse? That’s what we’ll take a look at in this Basics article.

 

🎧 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:

 

70: “Risks and rewards”, with Christian Selig

Christian Selig, creator of the Apollo Reddit app, joined me to talk about building apps against third party APIs, and what sort of criteria an app needs to meet to be considered a “good platform citizen”. Also, REST vs GraphQL, architecting API clients, and more.

 

71: “Polymorphic interfaces”, with Dave Abrahams

Dave Abrahams joined me to talk about Protocol-Oriented Programming and how to make the most out of the Swift Standard Library. We also discussed Swift’s overall design, why it puts such a strong emphasis on value types and protocols, and how it’s been influenced by other languages.

 

⭐️ Swift tips

I love to share shorter tips, tricks and techniques with the community. You can now also find all of the tips that I’ve ever posted as mini-articles on the site! These are the tips I shared during the past month:

 

Handling keyUp and keyDown events on iOS 13.4 and later

How to observe and handle iOS 13.4’s new granular keyboard events.

 

Combining dynamic member lookup with key paths

How Swift’s @dynamicMemberLookup feature can be used in a completely type-safe manner.

 

Enums with custom raw types

It might initially seem like enums can only use built-in types (like Int and String) as their raw types, but they actually support using completely custom types as well.

 

📺 Videos

Swift Clips is a series of shorter YouTube videos covering Swift tips and techniques. This video was published during the past month:

 

Controllers in MVC

Let’s take a look at the role that controllers play within the MVC design pattern, and how we can avoid some of the most common issues when working with them — particularly around how we can break up Massive View Controllers into smaller building blocks.

 

😊 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 or .

Email Marketing Powered by Mailchimp

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your