As already mentioned, most people confuse the Dependency Injection pattern with the use of the DI Container. This is mainly true in other languages, such as Java, where a Framework, such as Spring, has been ubiquitous for a while.
In the Swift ecosystem, DI Containers are less common, but there are a few, and it's worth having a basic idea of how they work since it could be useful in particular projects, such as an enterprise one with several developers.
Using a Dependency Injection Container
Why you should use a DI Container
We have seen that Dependency Injection can be achieved by implementing the right constructor and binding the dependencies at the start of the app, without using a third-party framework.
However...