A view has a lifecycle. As the name suggests, it is a cycle 🔁. This cycle continues to happen while our app is running.

So,If there is expensive blocking in the cycle it will definitely reduce the performance of the app.

It is very important to have a good understanding…


Here we need to get our hands dirty by running and seeing the resualt of given sample codes.


Learn the 1:1 mapping of the SceneDelegate to the old AppDelegate methods

In iOS 13, if your application adopts the new scene life cycle, UIKit will stop calling the old ApplicationDelegate methods that relate to UI state.

Instead, we’ll call the new SceneDelegate methods, and it’s pretty simple since there’s a 1-to-1 mapping for most of these.

But don’t worry — if…


First came the AppDelegate, now comes the SceneDelegate

Roles of AppDelegate (Image by Heshan Yodagama)

To get started, let’s talk about some of the roles and responsibilities of the AppDelegate in iOS 12 and before. The AppDelegate had two primary roles:

  • To notify your application about process-level events. The system would notify your app delegate when your process was launching or was about to terminate.


An Introduction to the Model-View-ViewModel Architecture

Yeah, I know that you are familiar with MVC. Here I am going to introduce a better architecture for your next and existing iOS application.

MVC Architecture (Image by Heshan Yodagama)

As you already know, Models hold data, views present an interactive interface to the user, and view controllers mediate the interaction between the model and…

Heshan yodagama

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