ViperStackSwift
什么是它?
ViperStackSwift
是一个库,它提供了一种连接 VIPER 模块的机制。
还有一些用于 VIPER
模块的基类和协议
ModuleInput
ModuleOutput
ModuleRouter
ModuleView
使用此库,您可以通过名为 Segues
的对象在模块之间进行导航。
Segue
是一个可以自定义打开 UIViewController
及其动画的对象。
使用 Segue
协议呈现 Segues。
BaseSegue
是一个实现Segue
协议的基类。PushSegue
在原始视图控制器的导航控制器中执行推送。ModalSegue
以模态方式呈现目标视图控制器。
要自定义显示 UIViewController
,您应该从 BaseSegue
创建子类并重写 perform
和 unwind
方法。
要执行 segue,创建 Segue
对象,并在 transitionHandler
中调用
openModule(withSegue segue: Segue?, linkClosure closure: ModuleLinkClosure?) -> ModuleOpenPromise
默认情况下,您应该使用 UIViewController
作为 transitionHandler
,为此有扩展。
linkClosure
用于将父模块作为 moduleOutput
与子模块连接。在 linkClosure
中,您还可以调用子模块中的某些方法,例如,从父模块传递参数到子模块。
技巧
为了节省时间,您可以使用 generamba 和 这个 模块模板来生成模块。
语言
ViperStackSwift是用纯Swift编写的。
示例
要运行示例项目,首先克隆仓库,并从示例目录运行 pod install
。
要求
安装
ViperStackSwift可以通过CocoaPods获得。要安装,只需在Podfile中添加以下行
pod 'ViperStackSwift'
作者
许可证
ViperStackSwift以MIT许可证提供。有关更多信息,请参阅LICENSE文件。