zoukankan      html  css  js  c++  java
  • JLRoutes笔记

    1.在info.plist中添加

    <key>CFBundleURLTypes</key>
        <array>
            <dict>
                <key>CFBundleURLName</key>
                <string>aaa.JLRoutes</string>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>JLRoutesOne</string>
                    <string>JLRoutesTwo</string>
                    <string>JLRoutesThree</string>
                </array>
            </dict>
        </array>

    2 注册JLRoutes

    当用[JLRoutes globalRoutes]这种全局方式注册时,openURL方法中拦截也要用return [[JLRoutes globalRoutes] routeURL:url];
    
    这样 当调用[UIApplication sharedApplication] openURL方法时,会先走Appdelegate的openURL方法,若是returnYES,则会立马回调注册的那个地方
    
    //注册全局JLRoutes
        [[JLRoutes globalRoutes] addRoute:@"/:controller" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) {
            
            /*
             {
             JLRoutePattern = "/:controller";
             JLRouteScheme = JLRoutesGlobalRoutesScheme;
             JLRouteURL = "JLRoutesOne://OneNextViewController";
             controller = OneNextViewController;
             }
             */
            return YES; //一旦匹配 , 立即返回YES
        }];
    
    注意下/:controller这样写,/:必须, controller可以换成其他的单词

    3 自定义命名空间

    也就是注册时用的是JLRoutes routesForScheme: 对象,这时
    openURL方法中拦截也要用return [JLRoutes routesForScheme:XXX] routeURL 

    逻辑同理第2步

    //自定义命名空间注册

        [[JLRoutes routesForScheme:@"JLRoutesOne"] addRoute:@"/:tabController" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters){

    /*

     {

     JLRoutePattern = "/:tabController";

     JLRouteScheme = JLRoutesOne;

     JLRouteURL = "JLRoutesOne://OneNextViewController";

     tabController = OneNextViewController;

     }

     */

            return YES;

        }];

    此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
  • 相关阅读:
    Python获取会议部分的信息内容(不断完善中)
    TensorFlow学习笔记(UTF-8 问题解决 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte)
    Tensorflow学习笔记(对MNIST经典例程的)的代码注释与理解
    virtualenvwrapper
    最小二乘法与梯度下降的区别
    Git
    Jupyter
    Linux
    Iterm2
    Homebrew
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/10760746.html
Copyright © 2011-2022 走看看