[Objective-c开源库]HHRouter
2016-05-10 14:20
483 查看
---恢复内容开始---
通过runtime UIViewController扩展,增加类属性方式传参
返回嵌套dicnary,在最里面保存跳转viewController或者block
匹配当前所有routes,获取routePath和route参数信息,放到NSArray中。区别是否有?带参数
最后在匹配到routes中返回对应的viewcontroller或block
易扩展,本地map多添加一条记录即可
小缺陷:不能做到本地任意跳转,主app需要包一层自己的跳转逻辑---恢复内容结束---
目的
统一客户端内部和外部跳转处理,支持传参数代码
添加vc,block映射
针对路径做映射,如/user/:userId -> UserViewController,通过调用/user/1 即可成功创建界面通过runtime UIViewController扩展,增加类属性方式传参
原理
map步骤
接收到的url先parse,获取pathComponents, 及“/”后的参数。 根据array顺序,将参数parse到嵌套dictionary返回嵌套dicnary,在最里面保存跳转viewController或者block
match步骤
去掉router,header匹配当前所有routes,获取routePath和route参数信息,放到NSArray中。区别是否有?带参数
最后在匹配到routes中返回对应的viewcontroller或block
应用场景
作为schema跳转入口,匹配本地vc,可接受参数是个优势易扩展,本地map多添加一条记录即可
小缺陷:不能做到本地任意跳转,主app需要包一层自己的跳转逻辑---恢复内容结束---
相关文章推荐
- Objective-C代码行数统计
- Object类
- objective-c - 基础篇 - KVO键值转换设计模式
- 内存管理(16.5.10)
- Ubuntu下如何安装并使用Objective-C
- object-c中get/set方法
- C#4.0中的dynamic关键字和ExpandoObject对象
- 关于runtime的objc_getClass和object_getclass
- objective-c - 基础篇 - KVC键值转换设计模式
- objectARX判断当前坐标系
- Fatal error: Using $this when not in object context in parent2.php
- Wordpress里提示警告信息creating default object from empty value in *** 的解决方法
- Java JSONObject后首字母变小写的问题
- Objective-c 学习笔记(一)
- JavaScript:Object类型
- iOS SDK开发时,有关OC和C++混编造成其它类错误的问题(Compile Sources As Objective-C++)
- Q_OBJECT宏的作用
- IOS学习笔记——object-C基础 (一)
- PHP文件处理类 SplFileObject 和 SplFileInfo
- Activity之间序列化传递Object