Direkt 1.1.0

Direkt 1.1.0

Damian Malarczyk 维护。



Direkt 1.1.0

  • Joris Dubois, Jonathan Esposito, Jens Goeman 和 Damian Malarczyk

Direkt

Carthage

DirektDRYNavigationManager 的 Swift 版本。

与原始版本类似,它旨在为不依赖于 Storyboard Segues 的项目提供使用。它遵循相同的架构概念,但利用 Swift 编程技术提供更强的类型安全和原生 API 感觉。

用法

库定义了几个核心协议,用户将会与之交互

  • Navigator - 负责导航流程的核心对象。它们的任务是运行过渡代码,例如将视图控制器推入导航堆栈。
  • NavigationManager - 这些对象的任务,如名称所示,是管理导航器。这意味着该对象需要根据导航请求创建给定的导航器实例。《BaseNavigationManager》是该协议的开源实现,您可以直接使用或扩展。
  • 其他一些辅助类型,如《ViewControllerFactory》和《NavigatorFactory》,作为依赖项解决方案的抽象。

以下是一个将视图控制器推入导航堆栈的《Navigator》实现示例

func navigate(using input: String, from hostViewController: UIViewController, factory: ViewControllerFactory) throws {
	guard let navigationController = hostViewController.navigationController else {
		throw Error.missingNavigationController
	}

	try navigationController.pushViewController(
		factory.makeViewController(ofType: HelloViewController.self, input: input),
		animated: true
	)
}

示例

在仓库中,您可以找到示例项目。

  1. 克隆仓库 – git clone https://github.com/appfoundry/direkt.git
  2. 在《Example》目录下运行 carthage build --platform iOS
  3. 探索示例项目

安装

CocoaPods

将以下行添加到您的 Podfile 中:pod "Direkt"

Carthage

将以下行添加到您的 Cartfile 中:github "appfoundry/direkt" 并相应更新您的 Carthage copy-frameworks 脚本。

作者

作者 电子邮件
Joris Dubois [email address hidden]
Jonathan Esposito [email address hidden]
Jens Goeman [email address hidden]
Damian Malarczyk [email address hidden]

许可

Direkt 依据 MIT 许可协议提供。请参阅 LICENSE 文件了解详细信息。