DependencyManager
DependencyManager 提供了一个简单的接口来声明 弱依赖。《弱依赖》意味着,只要应用程序的某个部分还在使用它,这些依赖就会存在于内存中,并且当它们不再需要时,将自动释放,从而减小内存占用。
DepedencyManager 自身提供了一个使用 swift resolve<T>(key: String, creator: () -> (T))
函数通过唯一的键来检索/创建新服务的功能,该函数用于调用 creator 块以重新创建服务时。
通常建议将预期服务的公共接口描述为 Protocol
,然后,提供私有类的实现以符合协议,并在同一文件中声明 DependencyManagerProtocol 的扩展以创建特定于协议的实现
protocol FetchStringsServiceProtocol: PublicServicePorotocol {
func fetchStrings(handler: (([String]) -> () ) )
}
extension DependencyManagerProtocol {
func resolveFetchStringsService() -> FetchServiceProtocol {
return self.resolve(key: "StringService") {
StringServiceImp(...)
}
}
}
private class StringServiceImp: FetchStringsServiceProtocol {
func fetchStrings(handler: (([String]) -> () ) ) {
...
}
}
有关详细信息,请参阅 示例。
示例
要运行示例项目,请先克隆仓库,然后在示例目录中运行 pod install
。
要求
与 Swift4.2 兼容的框架,因此需要 XCode10。
安装
DependencyManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'DependencyManager'
或者通过 Carthage
github "Michael-Vorontsov/DependencyManager"
作者
米哈伊尔·沃罗诺夫,[email protected]
许可证
DependencyManager 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。