iOS路由跳转(三)之JKRouter基础教程2
来源:互联网 发布:网络拍卖平台 编辑:程序博客网 时间:2024/06/05 10:38
接上篇《 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哦。
0 0
- iOS路由跳转(三)之JKRouter基础教程2
- iOS路由跳转(三)之JKRouter基础教程1
- iOS路由跳转(四)之JKRouter持续更新1
- iOS路由跳转(五)之JKRouter 2.0 脱胎换骨
- iOS路由跳转(一)之初识URL
- iOS路由跳转(二)之需求分析
- iOS控制器-路由跳转
- iOS - JLRoutes路由跳转
- iOS - JLRoutes路由跳转
- ionic之路由跳转
- Solr基础教程之solrconfig.xml(三)
- [Android]如何做一个崩溃率少于千分之三噶应用app(22)-组件化路由跳转
- 《Angular2路由跳转之代码跳转》
- 《Angular路由跳转之指令跳转》
- AngularJS路由之ui-router(三)
- iOS开发之如何通过路由方式进行页面间的跳转
- iOS路由设计(三)带你一步步构建iOS路由
- iOS学习之场景跳转的三种方式
- js-dom元素操作
- C++头文件之:#ifndef #define #endif ,#ifdef __cplusplus extern "C" { #endif,__declspec(dllimport)
- OJ 1011 复数类
- 目标跟踪:KCF代码分析(matlab版本)
- CURL基础使用
- iOS路由跳转(三)之JKRouter基础教程2
- Flink的standalone 模式简单部署
- HDU
- js比较运算符
- 深度探索c++对象模型
- maven仓库-私服
- 线性表的顺序存储结构
- HTML5日期输入类型(date)
- 数组去重与生成随机数组