CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

DryInterRouter 0.0.3

DryInterRouter 0.0.3

Maintained by duanruiying.



  • By
  • duanruiying

DryInterRouter

iOS: iOS: Swift内部独立路由,用于解耦视图控制器之间的push

Prerequisites

  • Xcode 10.2.1
  • iOS 9.0 or later
  • ObjC、Swift 5 or later

Installation

  • pod 'DryInterRouter'

Features - 常用方法

  1. 设置导航实现的协议实例
DryInterRouter.default.setupImplement(InterRouterNavImplement())
  1. 导航协议实现实例
//MARK: - 申明视图控制器
enum InterRouterNav: DryInterRouterNav {
    /// ViewController1
    case vc1
    /// ViewController2
    case vc2(String?)
    /// ViewController2
    case vc3(String?, Int?)
}

//MARK: - 导航协议实现
class InterRouterNavImplement: DryInterRouterNavImplement {

    /// 获取视图控制器
    func viewController(_ nav: DryInterRouterNav) -> UIViewController {
    
        guard let navigation = nav as? InterRouterNav else {
            return UIViewController()
        }

        switch navigation {
        case .vc1: return ViewController1()
        case .vc2(let p1): return ViewController2.init(param1: p1)
        case .vc3(let p1, let p2): return ViewController2 .init(param1: p1, param2: p2)
        }
    }

    /// Push
    func push(_ nav: DryInterRouterNav, from: UIViewController, to: UIViewController) {
        from.navigationController?.pushViewController(to, animated: true)
    }
}
  1. 调用
self.dry_interRouter_push(InterRouterNav.vc2("1"))