2 min read

Issue #34

Hi there,

Welcome to issue #34 👋 Hope you learn something new today!

I also got the first sponsor this time - I'm really excited to be able to get some funds to continue growing the newsletter! I'm already investing them into improving my curation workflow and building a custom landing page. If you're looking for a job, check out the sponsored section at the end ☺️

Organising package manifests

Package.swift is a Swift file, and that means we can write Swift code in it, for example declare variables and functions, and even call them.

Are you already using any Swift language features in your package manifest? I'm curious about what other use-cases we can find for this.

Localised lists

ListFormatter composes a localised string from an array of elements, using a grammatically correct way to join the strings for the current locale. You can also customise how each element in the list is formatted by providing an itemFormatter property.

Year formatting

Every year it comes up on Twitter around December 30, that using YYYY in date formats is incorrect for displaying dates, as it stands for "week year" which will be wrong around the New Years week.

This year it's not yet too late to make a fix, so here's a reminder to check your code :)

Accessibility customisations in SwifUI vs UIKit

It's not always clear how to achieve the same accessibility customizations in SwiftUI vs UIKit. Here's a great summary - make sure to save it to your bookmarks for later:

Accessibility in SwiftUI explained for UIKit developers - SwiftLee

Accessibility in SwiftUI works a little different than in UIKit, but with a few tips you'll be able to get up to speed quickly.

SwiftUI performance tips

In this article Martin goes over various aspects of SwiftUI development and shares solid advice on avoiding performance issues in your UI code:

SwiftUI performance tips – martinmitrevski

SwiftUI has been around for almost 3 years now, and during this period working with it, I’ve noticed few groups of developer mistakes (both mine and from others) that can impact its performance. In this post, we will look at these pitfalls, and their potential solutions.

🧑‍💻 Sponsored Jobs 🧑‍💻

My friends at Shape Games are looking for iOS developers:

They’re building the leading sports betting frontend platform. This posting was sponsored (yay!), but also I personally know many people working there, and I've been to their lovely office for meetups countless times. It’s a great mobile team who care about the craft 👍


Alright, that’s it for today.

Did you enjoy this issue? Let me know by pressing the buttons below. If you enjoyed it, you can help grow the newsletter by spreading the word ☺️

Got feedback? Want to see more, or less of certain kinds of tips? I’d love to hear from you. Reply to this email or reach out on Twitter via @ios_code_review 🙌