As any software engineer will tell you, memory leaks aren't a matter of “if,” they're a matter of when. Whether you're contributing to an open-sourced project, reviewing code, or working on the next big app, leaking memory is something that should generally be avoided. Here's John with a few examples of how unit tests can be used to identify existing memory leaks and to prevent new ones in the future. I agree that it may be a bit overkill, but worth considering.
There are two things I actively tried to avoid showing inside my apps, loading states and network errors. Reducing the presence of loading states is a discussion for another time, however, Keith Harrison shows us how to tackle the latter quite easily. In iOS 11, you can now force your
URLSession session to wait until network connectivity is available before trying to connect, all with only one additional line of code. This prevents unnecessary network errors that happen far too often, resulting in a better user experience.
If you've been holding off on syncing your Realm database with CloudKit thinking it requires a lot of work, well you're in luck. IceCream aims to make this extremely easy. With support for manual syncing, user account status checks, and it's star SyncEngine, it seems like a no-brainer. Worth a try. 😜
String class and substring functionality have come a long way since Swift was first introduced in 2014. Greg Heo explains how substrings and strings work closely together and how they interface on their own. Always nice learning something new.