Dev

Results 25 comments of Dev
trafficstars

![3](https://user-images.githubusercontent.com/12987627/63153405-d1b12c00-c040-11e9-9d58-25fc3381375a.png) 比如我这个 HPWallet 是个单独的组件,里边也有 Router.swift,RouterType.swift 等类,并注册了自己的跳转路由, 然后我现在这个项目也有这几个类,也注册了几个URL 路由,但是我现在要跳转 HPWallet 模块的 VC 的话,现在只能在前面加 这个模块前缀才能跳转,不能和现有项目 共享啊。 如何才能通过我本身项目的 Router.open('') 打开 HPWallet 注册的 Router 呢?

是的啊,多组件间的通信,但具体不知该怎么写。能否出个demo,非常感谢!

![32](https://user-images.githubusercontent.com/12987627/63162627-a08f2680-c055-11e9-9a11-aacecead7da3.png) 而且 Plugin 针对的 RouterType 仅仅是一种,我有多个 RouterType,然后每个对应1个或者多个 Plugin 就报错了。

```swift public extension Navigator { func registerWalletRouter() { register(WalletRouterType.transfer.pattern) { (url, values, context) -> UIViewController? in return TestController(url: url.urlStringValue, values: values) } register(WalletRouterType.history.pattern) { (url, values, context) -> UIViewController? in...

```swift public class Provider { typealias ViewControllerFactory = (_ url: URLConvertible, _ values: [String: Any], _ context: Any?) -> Routerable? private let navigator = Navigator() private let plugins: [Plugin] ```...

@lixiang1994 是的,非常需要呀,还在加班ing...,就是需要一个全局 Navigatior 。 ```swift public class Provider { typealias ViewControllerFactory = (_ url: URLConvertible, _ values: [String: Any], _ context: Any?) -> Routerable? public let navigator:Navigator private let plugins:...

我看看,非常感谢!

``` swift public struct Router { let router: Provider init(_ navigator: Navigator) { router = Provider(navigator: navigator, [RouterAccountPlugin()]) } } extension Router { /// 打开 /// /// - Parameters: ///...

可以了。 定义 ```swft public class Router { private static let shared = Router() private var router: Provider? = nil public static func setNavigator(_ navigator: Navigator) { shared.router = Provider(navigator: navigator,...

或者这样调用: ```swift let param = ["name":"json","age":"18"] Router.open(HPWallet.RouterType.setting.pattern + param.urlParameters()) ```