TPInjector 0.2.0

TPInjector 0.2.0

Eliran Ben-Ezra 维护。



  • Eliran Ben-Ezra

TPInjector

CI Status Version License Platform

用法

要设置依赖项,请在 DefaultInjector 上设置或注册它们

  DefaultInjector.set(key: "api_key", to: "12345678")
  DefaultInjector.set(key: "api_url", to: NSURL(string: "https://someurl.com"))
  DefaultInjector.register(service: NetworkService.self, with: NetworkServiceImpl())
  DefaultInjector.register(service: LoginService.self, with: LoginServiceImpl())

要注入依赖项,请在您的类/结构体定义中添加 Injectable 协议,并添加 injecttryInject 静态方法以注入依赖项

class ClassWithDependecies: Injectable {

  private let networkService = inject(NetworkService.self)
  private let api_key = inject("api_key", String.self)
  private let api_url: NSURL = tryInject("api_url") ?? NSURL(string: "https://default.com")

  init(loginService: LoginService = inject()) {

  }
}

示例

要运行示例项目,请先克隆仓库,然后从 Example 目录中运行 pod install

安装

TPInjector 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中。

pod 'TPInjector'

作者

Eliran Ben-Ezra,[email protected]

许可证

TPInjector按照MIT许可证提供。有关更多信息,请参阅LICENSE文件。