简单的 & 轻量级应用程序的过渡框架
KabuKit是一个简单的框架,用于在应用程序屏幕切换时进行路由和值传递。
需求
关于架构
//遷移元
extension FromViewController : Scene {
typealias contextType : Void
}
// 遷移先
extension ToViewController: Scene {
typealias contextType: String
}
class TrasitRequest: Request<String>()
extension FromViewController : Scene {
typealias contextType : String
@IBAction func onTapNext(sender: UIButton) {
send(TransitRequst("hello"))
}
}
class SampleGuide {
typealias Stage = UINavigationController
func start(with operation: SceneOperation<UINavigationController>) {
operation.at(Sample1ViewController.self) { s in
s.given(Sample2Request.self) { (args) in
args.stage.pushViewController(args.next, animated: true)
return {
args.stage.popViewController(animated: true)
}
}
}
}
}