Eliminating Degenerate View Controller States

The concept of object state is so fundamental that anyone hardly thinks of its definition. In present article let’s define what is an object state, which states are called degenerate; how they can be identified and avoided. [Read More]

Missing Guide on Swift Code Style

When joining a new project or reading an open source code, you must have noticed that some projects are uniformly organized and well-structured, while others are messy and tangled? If we summarize the factors that yields such effect over the code base, we come across the notion of code convention.... [Read More]

Data-Driven Table Views

The standard approach to managing and creating table views has a number of flaws: repeated boilerplate code, tangled flow of control, violation of dependency inversion principle. In this article let’s address these issues and design a data-driven, reusable and declarative table view component. [Read More]

Static and Dynamic Libraries and Frameworks in iOS

When developing iOS apps you rarely implement everything from the ground-up, because operating system as well as open source community offers large amount of functionality ready-to-use. Such pieces of functionality are usually packed in a distributable form known as a library. In this article let’s explore static and dynamic libraries... [Read More]

Understanding Xcode Build System

Every Swift program undergoes a number of transformations before it can be run on a real device. This process is usually handled by an Xcode Build System. In this article we’ll take a look at each part of Xcode Build System. [Read More]

Multiple Inheritance in Swift

Although Swift does not support multiple inheritance, it offers rich API that gives possibility to simulate it. Let’s take an in-depth look at multiple inheritance and its implementation in Swift. [Read More]

Xcode Source Editor Extension Tutorial: Getting Started

Xcode is the core tool for Apple development. Although it is well-integrated with the most development workflows, from time to time you might feel like missing some basic features. In this article you will learn how to create Xcode Source Editor Extension that adds some extra functionality to Xcode. [Read More]

Refactoring Massive App Delegate

App delegate connects your app and the system and is usually considered to be the core of every iOS project. The common tendency is that it keeps growing as the development goes, gradually sprouting with new features and responsibilities, being called here and there and eventually turning into spaghetti code.... [Read More]