How to do Swift Dependency Injection Property Based

Swift Dependency Injection

Dependency Injection feel like a very complicated topic but in fact it is very simple. We as devs all try to follow design principle like SOLID so that our code is properly structured in a modular way and not a spaghetti code. Dependency injection really help with this. It also helps in mocking/testing our code.

Dependency injection literally means injecting the dependency. In programming world it means injecting the dependencies our code needs in order to work. There are three flavors of dependency injection in Swift

1. Initializer Based
2. Parameter Based
3. Property Based

We already covered Initializer Based Swift Dependency Injection here. In this blog we will focus on Property Based Swift Dependency Injection. Property based Dependency Injections is suitable for system classes where you don't necessarily have access to initialization. For eg a view controller initiated by Storyboard or XIB where we don't have control over initialization. In this case we can just initialize the property later on. Lets look at an example



If you see above ViewController's property fileManager and networkManager are initialized after instance  is created. We can go step ahead and also do default value too. 

Popular posts from this blog

How to make an iOS App Secure?

System Design Interview For Mobile Engineers

How to make iOS app secure from screenshot and recording?