Dependency injector Swift. Compatible for swift server-side and swift for iOS
Installation
CocoaPods
To install DependencyInjector with CocoaPods, add the following lines to your Podfile.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
pod 'DependencyInjector'
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate DependencyInjector into your Xcode project using Carthage, specify it in your Cartfile:
github 'Digipolitan/dependency-injector' ~> 2.0
Run carthage update to build the framework and drag the built DependencyInjector.framework into your Xcode project.
Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.
Once you have your Swift package set up, adding DependencyInjector as a dependency is as easy as adding it to the dependencies value of your Package.swift.
DependencyInjector
Dependency injector Swift. Compatible for swift server-side and swift for iOS
Installation
CocoaPods
To install DependencyInjector with CocoaPods, add the following lines to your
Podfile
.Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
To integrate DependencyInjector into your Xcode project using Carthage, specify it in your
Cartfile
:Run
carthage update
to build the framework and drag the builtDependencyInjector.framework
into your Xcode project.Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the
swift
compiler.Once you have your Swift package set up, adding DependencyInjector as a dependency is as easy as adding it to the
dependencies
value of yourPackage.swift
.The Basics
First you must create a Module and register some providers
IAnimal is a protocol that MUST be implemented by the Dog class
After that, you must register your module inside an injector
Finally, inject an IAnimal and retrieve a concrete class registered inside your module
Advanced
Arguments
Register a provider that handle arguments :
Inject an IAnimal with arguments Dictionary<String, Any> :
Contributing
See CONTRIBUTING.md for more details!
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to contact@digipolitan.com.
License
DependencyInjector is licensed under the BSD 3-Clause license.