需要 1.1.0

Need 1.1.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最新发布2017年10月
SwiftSwift 版本3.0
SPM支持 SPM

leloupnicolas 维护。



Need 1.1.0



一个基于 Swift 的依赖注入实现。无论你何时 需要 一个服务,你都可以获取到它。

功能

  • 服务定位器
  • 服务注入感知工具类。

安装

唯一的方法是使用 CocoaPods。

如何使用

设置

在将框架添加到您的项目后,您需要在 AppDelegate 中导入该模块。

import Need

现在,在 AppDelegate 中添加一个 LazyServiceLocator 属性

  /// The main service locator
  let lazyServiceLocator: LazyServiceLocator = LazyServiceLocator()

application(_ application:didFinishLaunchingWithOptions:) 方法的 return 语句之前添加以下内容

  self.processRegistration()

最后,按照以下内容实现 `ServicesRegistry’ 协议

extension AppDelegate: ServicesRegistry {
  var serviceLocator: ServiceLocator {
    return self.lazyServiceLocator
  }

  func processRegistration() {
    // Add here your own services
    // self.lazyServiceLocator.addService(OwnServiceImplementation() as OwnServiceProtocol)
  }
}

用法

Need 中提供了 ServicesInjectionAwareServicesInjectionAwareViewController 工具类。您可以使用它如下

class OwnViewController: ServicesInjectionAwareViewController {
  lazy var ownService: OwnServiceProtocol = {
    return getService()
  }()
  
  // Use your own service wherever you need.
}

贡献

  • 如果您 需要帮助有功能请求发现错误,请提出问题。
  • 如果您 想要贡献,提交拉取请求。

致谢

Need 由 Nicolas LELOUP 拥有和维护 @leloupnicolas

许可

本项目许可协议为 MIT 协议。

版权所有 © 2017 Nicolas LELOUP

任何人免费获得此软件及其相关文档文件的副本(“软件”),可用于软件而不受任何限制,包括但没有限制地使用、复制、修改、合并、发布、分发、再许可和/或销售副本的权利,以及许可其他人获得软件并按本许可协议的内容使用该软件的权利。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。