One more thing...
Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week.
Avoiding singletons in Swift
"I know singletons are bad, but...", is something that developers often say when discussing code. There seems to almost be a consensus in the community that singletons are "bad", but at the same time both Apple and third party Swift developers keep using them both internally within apps and in shared frameworks. This week, let's take a look at exactly what the problems are with using singletons and explore some techniques that can be used to avoid them.
Read More
Blog posts
The ultimate guide how to init your Swift data types, with the help of designated, convenience, failable intitializers and more.

Sometimes it’s better to crash then to have your app running in an inconsistent state. In this short article we’ll cover the options you have for crashing and what are the main differences between them. There’s only five, with some subtle differences.
Like creeping, just legally...

How do you design good abstractions? By using abstractions that already exist.
RxKeyboard provides a reactive way of observing keyboard frame changes. Forget about keyboard notifications. It also perfectly works with UIScrollViewKeyboardDismissMode.interactive.
Turn-by-turn navigation logic and UI in Swift or Objective-C on iOS.
Closures is an iOS Framework that adds closure handlers to many of the popular UIKit and Foundation classes. Although this framework is a substitute for some Cocoa Touch design patterns, such as Delegation & Data Sourcesand Target-Action, the authors make no claim regarding which is a better way to accomplish the same type of task. Most of the time it is a matter of style, preference, or convenience that will determine if any of these closure extensions are beneficial.
In this session, Nataliya discusses how to implement MVVM architecture, resulting in tidier and easily testable view controllers.

Curated by Infinum's iOS team.
Infinum iOS Team · 156 2nd St · San Francisco CA 94105 · USA
Unsubscribe | View in browser