It’s simply a property wrapper used by SwiftUI to managed its view’s appearance or “state”.

Property Wrappers?

You can think of property wrappers as additional behaviours and functionalities added to a property to do more. You can think of them as weak or @IBOutlet but more powerful.

Property wrappers play a huge…


In this article i hope to explain why we may use the @escaping attribute and explain the difference between the default @noescape.

If you used Swift 2 you may have used the @noescape attribute and you may know that this was later deprecated in Swift 3 with the introduction of…


ARC, also know as Automatic Reference Counting, used to manage your app’s memory by keeping counts of all the allocated class instances and freeing up any allocated memory when those instances are no longer needed. …


Hi everyone, its been a little while since i blogged here but better late than never.

Hope everyone started to settle in with the mammoths of new and exciting changes from WWDC 2019. …


How does one use resources such as Images, Xibs and Storyboards in static libs. By default this is easy to achieve in dynamic libs however when it comes to static libs things can get a bit challenging. …


If you used Xcode then its certain that you come across and used templates for your projects. These can be file or project type templates such a Cocoa Touch Class, Storyboard, Core Data, Dynamic or Static Libraries. These are default templates which are bundled up with Xcode and for most…


In this article I hope to explain how one can use the new CaseIterable Protocol to enumerate through all cases in your enum and explain some of its limitations.

What is CaseIterable?

It’s a protocol, introduced in Swift 4.2. It automatically synthesises a collection of all the cases in your enum in the…


If you worked on an iOS app you may have come across asynchronous tasks such as API requests, image process, data download etc. If so then you know it can be a painful process especially when your need to chain these async tasks in series. …


Apple introduced Core ML back in June during the WWDC 2017 conference as a means to integrate machine learning into applications we love and use. In this article I hope to shed some light on what Core ML is and how to use it.

What is Machine Learning?

We are…


What is protocol composition?

It is the process of combining multiple protocol into a single protocol. You can think of it as multiple inheritance except with protocols.

Let’s look at some examples.

The below implementation represents a dog which can bark and wag it’s tail when calling ballFound().

protocol CanDoDogThings…

Melvin John

A Software Engineer with a passion for technology. Working as an iOS Developer @BBC

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store