Dev
Dev
 比如我这个 HPWallet 是个单独的组件,里边也有 Router.swift,RouterType.swift 等类,并注册了自己的跳转路由, 然后我现在这个项目也有这几个类,也注册了几个URL 路由,但是我现在要跳转 HPWallet 模块的 VC 的话,现在只能在前面加 这个模块前缀才能跳转,不能和现有项目 共享啊。 如何才能通过我本身项目的 Router.open('') 打开 HPWallet 注册的 Router 呢?
是的啊,多组件间的通信,但具体不知该怎么写。能否出个demo,非常感谢!
 而且 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()) ```