XLUrlRouter 0.0.9

XLUrlRouter 0.0.9

wangxu 维护。



  • littleFrenchfries

XLUrlRouter

A swift navigation control router

swift 路由器跳转库XLUrlRouter功能介绍

XLUrlRouter 主要针对控制器跳转,使用简洁明了

本路由器借鉴DCURLRouter,由于项目用 swift 重构,swift 当前路由框架没有特别适合我的,所以我自己搭建了这么一个XLUrlRouter框架,纯 swift 封装,喜欢给个 star。

具体使用说明如下:

  1. 创建一个.plist文件,内容大致如下:
    可以创建类似的 plist 文件,内容不用完全相同,但是层次要相同
  2. 在项目的 AppDelegate 里面注册控制器,如图
Router.loadConfigDict(pistName: "DCURLRouter.plist")
Router.loadConfigDict(pistName: "DCURLRouter")  

图片名称
红线框内的两种注册方式都可以,代码中做了兼容处理,为了使框架更为友好

  1. 框架中有两个主文件 Router 和 LL
  • Router 主要负责根据 URL 路径进行跳转的功能:
    1. 控制器的 pushViewController 功能:
  
Router.go(urlString:"url路径",query: ["参数":参数] , animated:true) { (params)in
           log("回到ViewController 参数=\(params ?? ["":""])")
}
  
    1. 控制器的 presentViewController 功能:
  
Router.present(urlString: "url路径", animated: true) {
            log("ViewController开始present")
}
  
    1. 控制器的 popViewController 功能:
  
Router.goBack(params: ["uid":2], animated:true)
  
  • LL 主要负责系统控制器跳转的功能,可以在任何地方进行跳转,不受限制
    1. 控制器的 pushViewController 功能:
  
LL.pushViewController(vc, animated: animated,false)
  
    1. 控制器的 presentViewController 功能:
  
LL.presentViewController(vc, animated: animated, completion: completion)
  
    1. 控制器的 popViewController 功能:
  
LL.popViewController(animated: animated)
  

可以 pop 两次:

  
LL.popTwiceViewController(animated: true)
  

也可以 pop 到根控制器:

  
LL.popToRootViewController(animated: true)
  

还可以 pop 多次:

  
LL.popViewController(times: n, animated:true)
  
    1. 控制器的dismissViewController功能:
  
LL.dismissViewController(animated: true)
  

可以dismiss两次:

  
LL.dismissTwiceViewController(animated: true)
  

也可以dismiss到根控制器:

  
 LL.dismissToRootViewController(animated: true)
   

还可以多次dismiss:

  
LL.dismissViewController(times: n, animated:true)
  

功能大概如上所示,还有获取当前控制器等功能,大家基本也都会,就不多介绍了。欢迎大家使用本框架,如果喜欢可以给个star。