Simple solution for DIC
diContainer
.register(XMLDecodable.self) { _ in
return XMLDecoder()
}
.asSingleton()
diContainer
.register(ErrorLoggable.self) { _ in
return LocalErrorLogger()
}
.asLazySingleton()
diContainer
.register(XMLValidator.self) { _ in
return XMLValidator()
}
.asWeak()
let diContainer = DIContainer()
diContainer
.register(XMLDecodable.self) { _ in
return XMLDecoder()
}
.asLazySingleton()
let decoder1: XMLDecodable = diContainer.resolve()
// or
@Resolve(container: diContainer) var decoder2: XMLDecodable
GlobalDI
.container
.register(XMLDecodable.self) { _ in
return XMLDecoder()
}
.asLazySingleton()
let decoder1: XMLDecodable = GlobalDI.container.resolve()
// or
@Resolve var decoder2: XMLDecodable
Swift Package Manager is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies on all platforms.
link |
Stars: 2 |
Last commit: 1 year ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics