YYRouter是一个简单易用的Swift路由组件
pod 'YYRouter'
extension ViewController: YYRoutable {
static func createInstance(params: [String : Any]) -> YYRoutable {
return ViewController()
}
}
extension YYRouter {
@objc func router_ViewController() -> YYRouterModel {
return YYRouterModel(to: "app://ViewController", routerClass: ViewController.self)
}
}
YYRouter.pushTo(jumpParams: ["to": "app://ViewController"])
这里负责传参
YYRouter.pushTo(jumpParams: ["to": "app://ViewController", "param1": "1", "param2": 2])
接收端负责接收
extension ViewController: YYRoutable {
static func createInstance(params: [String : Any]) -> YYRoutable {
let vc = ViewController()
vc.param1 = params["param1"] as? String ?? ""
vc.param2 = params["param2"] as? Int ?? 0
return vc
}
}
如果项目按照模块组件开发,不同模块间都引入路由模块,那么A模块可以通过以下方法获取B模块的某个类对象。
let params = ["to": "app://ViewController", "param1": "1", "param2": 2]
if let vc = YYRouter.getRouterVC(jumpParams: params) {
return vc // 通过路由跨模块拿到路由key:"app://ViewController"的对象。
}