• [Objectivec开源库]HHRouter


    ---恢复内容开始---

    ### 目的 * 统一客户端内部和外部跳转处理,支持传参数

    代码

    添加vc,block映射

    • 针对路径做映射,如/user/:userId -> UserViewController,通过调用/user/1 即可成功创建界面
    • 通过runtime UIViewController扩展,增加类属性方式传参

    原理

    map步骤

    1. 接收到的url先parse,获取pathComponents, 及“/”后的参数。 根据array顺序,将参数parse到嵌套dictionary
    2. 返回嵌套dicnary,在最里面保存跳转viewController或者block

    match步骤

    1. 去掉router,header
    2. 匹配当前所有routes,获取routePath和route参数信息,放到NSArray中。区别是否有?带参数
    3. 最后在匹配到routes中返回对应的viewcontroller或block

    应用场景

    1. 作为schema跳转入口,匹配本地vc,可接受参数是个优势
    2. 易扩展,本地map多添加一条记录即可
    3. 小缺陷:不能做到本地任意跳转,主app需要包一层自己的跳转逻辑

      ---恢复内容结束---

  • 相关阅读:
    [COCI2013]DLAKAVAC
    [TJOI2013]最长上升子序列
    AGC040E Prefix Suffix Addition
    AGC010E Rearranging
    AGC021F Trinity
    AGC002F Leftmost Ball
    JOISC2019D ふたつのアンテナ
    LOJ6210 「美团 CodeM 决赛」tree
    Luogu P3781 [SDOI2017]切树游戏
    Problem. M
  • 原文地址:https://www.cnblogs.com/hermit/p/5477698.html
Copyright © 2020-2023  润新知