Framework that enables the application to register and inject dependencies. InSwifted is designed to safely resolve dependencies as well as have a traditional dependency injection use.
Installation
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 InSwifted as a dependency is as easy as adding it to the dependencies value of your Package.swift.
CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate InSwifted into your Xcode project using CocoaPods, specify it in your Podfile:
pod 'InSwifted', '~> 0.1'
Usage
First thing to do is create a DependencyContainer to contain all the dependencies for the application, with the container you can start to register dependencies in the container, like so:
let container = DependencyContainer()
container.register(Protocol.self) { resolver in
Implementation()
}
Once you have your container you can set the resolver for InSwifted using the set(resolver:) method:
InSwifted.set(resolver: container)
With the InSwifted resolver set you can then start resolving dependencies throughout the application using a convenient property wrapper:
struct Example {
@Injected
var dependency: Protocol
}
And thats it! You’re all set!
More Changes Coming Soon
License
InSwifted is released under the MIT license. See LICENSE for details.
InSwifted
Framework that enables the application to register and inject dependencies. InSwifted is designed to safely resolve dependencies as well as have a traditional dependency injection use.
Installation
Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the
swiftcompiler.Once you have your Swift package set up, adding InSwifted as a dependency is as easy as adding it to the
dependenciesvalue of yourPackage.swift.CocoaPods
CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate InSwifted into your Xcode project using CocoaPods, specify it in your
Podfile:Usage
First thing to do is create a
DependencyContainerto contain all the dependencies for the application, with the container you can start to register dependencies in the container, like so:Once you have your container you can set the resolver for
InSwiftedusing theset(resolver:)method:With the
InSwiftedresolver set you can then start resolving dependencies throughout the application using a convenient property wrapper:And thats it! You’re all set!
More Changes Coming Soon
License
InSwifted is released under the MIT license. See LICENSE for details.