iOS路由跳转(三)之JKRouter基础教程2

接上篇《 iOS路由跳转(三)之JKRouter基础教程1》 主要讲了JKRouter本类的跳法转的方和配置类。这一篇主要讲一下Json文件解析和权限操作的两个类。这两个类的方法在现具体实现时都需要通过重载在根据自己的实况际情实现。

JKAccessRightHandler

/**
 对传入的URL进行安全性校验,防止恶意攻击

 @param url 传入的url字符串
 @return 通过验证与否的状态
 */
+ (BOOL)safeValidateURL:(NSString *)url;

/**
 根据权限等级判断是否需要跳转,具体通过category重载来实现
 
 @param options 携带的配置信息
 @return 是否进行正常的跳转
 */
+ (BOOL)validateTheRightToOpenVC:(RouterOptions *)options;

/**
 根据app运行时用户的情况来配置权限,具体通过category重载来实现
 
 @param options 页面跳转的配置信息
 @return 配置好权限的options
 */
+ (RouterOptions *)configTheAccessRight:(RouterOptions *)options;

/**
 对于没有权限打开相关页面时的后续操作,具体通过category重载来实现
 
 @param options 传入的配置信息
 */
+ (void)handleNoRightToOpenVC:(RouterOptions *)options;

JKJSONHandler

JKJSONHandler 是处理JKRouter中所有涉及到JSON解析的工具类,使用的话,需要对约定的方法进行重载。


/**
解析JSON文件 获取到所有的Modules
 @param fileName JSON文件的名字
 */
+ (NSArray *)getModulesFromJsonFile:(NSString *)fileName;

/**
 从NavigationController导航栏持有的viewControllers中根据moduleID来找到相关的ViewController

 @param moduleID 传入的ViewController标记
 @return 找到的viewController对象
 */
+ (UIViewController *)searchExistViewControllerWithModuleID:(NSString *)moduleID;


/**
 根据MoudleID找到对应的ViewController的className

 @param moduleID 传入的ViewController标记
 @return 找到的ViewController的className
 */
+ (NSString *)searchVcClassNameWithModuleID:(NSInteger)moduleID;

/**
 根据读取到的json文件中的内容找到对应的路径

 @param moduleID 传入的ViewController标记
 @param path 指定的路径
 @return 返回对应的可以在app内打开的路径
 */
+ (NSString *)searchDirectoryWithModuleID:(NSNumber *)moduleID specifiedPath:(NSString *)path;

/**
 根据moduleID验证相关模块是否需要特殊的跳转

 @param module 传入的要解析的数据
 @param moudleID 传入的ViewController标记
 @return 是否需要特殊跳转的BOOL值
 */
+ (BOOL)validateSpecialJump:(NSDictionary *)module moduleID:(NSInteger)moudleID;

注: 之所以通过重载来实现这两个类的方法,只是想来阐述自的己思路,让家大能够根据这个思路结合自的己实际情况使用JKRouter。
大家想看demo源码的话可以点击 JKRouter下载地址
如果想直接集成到项目中的话,可以使用pod "JKRouter"
注:代码在持续更新,可能和博客中贴出来的源码有所出入,感兴趣的话可以关注gitHub哦。
QQ交流群:扫码入群
在这里插入图片描述
更多优质文章,可以微信扫码关注:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值