美文网首页
JLRoutes——小人物上篮

JLRoutes——小人物上篮

作者: zooleebee | 来源:发表于2017-03-06 15:27 被阅读116次

    看完后 HHRoute源码分析后,味道更佳,更易消化。

    • JLRoutes支持scheme,HHRoute没有

    routeControllersMap = [[NSMutableDictionary alloc] init];
    

    JLRoutes有一个routeControllersMap静态字典,保存了"sheme"到JLRoutes实例的对应关系。首先会去对应的scheme下找到url pattern,这个是HHRoute没有的

    • JLRoutes类中重要的类说明

      1. JLRRouteDefinition

      主要含有优先级,Url pattern,scheme的包装类

    2. JLRRouteRequest

    对被传进来的路由url进行,格式处理,比如去除主机名,分格pathcomponet,提取query参数

    3. JLRRouteResponse

    将 JLRRouteRequest和JLRRouteDefinition匹配后,返回最终的匹配结果和参数的类

    • JLRoutes对比HHRoute

    1.JLRoutes优势是代码支持添加scheme,HHRoute的只支持滤除plist中的scheme,只能app间跳转url使用

    HHRouter按照如下顺序注册两个url,后面match的时候只能找到StoryViewController,因为后来注册的如果地址一致,会重写前面的,为毛就不支持scheme呢??

     [[HHRouter shared] map:@"xw://user/:userId/"
             toControllerClass:[UserViewController class]];
     [[HHRouter shared] map:@"tn://user/:userId/"
             toControllerClass:[StoryViewController class]];
    
     [[HHRouter shared] matchController:@"xw://user/12"];
      [[HHRouter shared] matchController:@"tn://user/12"];
    

    2.JLRoutes需要遍历数组中的JLRRouteDefinition与传进来的url匹配,而HHRoute只需要每一个pathcomponent到对应得字典中去找有没有这个key,实现更精巧

    3.JLRoutes文件较大,HHRoute文件很小

    HHRoute小人物上篮,得分!.jpeg

    相关文章

      网友评论

          本文标题:JLRoutes——小人物上篮

          本文链接:https://www.haomeiwen.com/subject/ylcugttx.html