测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最新发布 | 2017年10月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 leloupnicolas 维护。
一个基于 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 中提供了 ServicesInjectionAware
和 ServicesInjectionAwareViewController
工具类。您可以使用它如下
class OwnViewController: ServicesInjectionAwareViewController {
lazy var ownService: OwnServiceProtocol = {
return getService()
}()
// Use your own service wherever you need.
}
Need 由 Nicolas LELOUP 拥有和维护 @leloupnicolas。
本项目许可协议为 MIT 协议。
版权所有 © 2017 Nicolas LELOUP
任何人免费获得此软件及其相关文档文件的副本(“软件”),可用于软件而不受任何限制,包括但没有限制地使用、复制、修改、合并、发布、分发、再许可和/或销售副本的权利,以及许可其他人获得软件并按本许可协议的内容使用该软件的权利。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但没有限制地包括对适销性、对特定用途的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对因使用或操作本软件或与本软件的使用或操作相关的任何索赔、损害或其他责任(无论因合同、侵权或其他方式产生)负责。