SwinjectLight

Build Test platforms Swift Package Manager compatible GitHub GitHub All Releases

SwinjectLight 是一个轻量级的依赖注入框架,可在任何支持 Swift 的平台上运行。 该框架从原始的 Swinject 实现中汲取灵感,但移除了一些通常不必要的更复杂的功能。

安装

Swift 包管理器

要将包依赖项添加到您的 Xcode 项目,请选择“文件”>“添加包依赖项”,然后输入 https://github.com/marekpridal/SwinjectLight

或者,在 Package.swift 中添加以下内容

// swift-tools-version:5.10

import PackageDescription

let package = Package(
  name: "SwinjectLightExample",
  dependencies: [
    .package(url: "https://github.com/marekpridal/SwinjectLight", from: "1.0.0")
  ],
  targets: [
    .target(name: "SwinjectLightExample", dependencies: ["SwinjectLight"])
  ]
)

用法

import SwinjectLight

// Create container
let container = Container()

// Register singleton dependency
container.register(Session.self) { r in
    DefaultSession.shared
}

// Register instance based dependency
container.register(Api.self) { r in
    Networking(session: r.resolve(Session.self))
}

// Resolve dependency
let api = container.resolve(Api.self)

您还可以查看 repo 中的演示项目,以了解有关用法的更多详细信息。