没有合适的资源?快使用搜索试试~ 我知道了~
使用组件化是为了解耦处理,多个模块之间通过协议进行交互。而负责解析协议,找到目的控制器,或者是返回对象给调用者的这个组件就是路由组件。本文讲解如何使用核心的50行代码实现一个路由组件。 组件化和路由 路由的实现 路由注册实现 路由使用实现 客户端的使用 一些小想法 组件化和路由 之前看过挺多的关于路由管理、路由处理的文章,常常会和组件化出现在一起,一开始不知道为何路由和组件化出现在一起,后来公司的项目中使用了路由组件(他本身也是一个组件,确切的说是一个中间人或者中介者),才突然想明白了,原来如此。 使用组件化是为了解耦处理,多个模块之间通过协议进行交互。而负责解析协议,找到
资源推荐
资源详情
资源评论
iOS使用核心的使用核心的50行代码撸一个路由组件行代码撸一个路由组件
使用组件化是为了解耦处理,多个模块之间通过协议进行交互。而负责解析协议,找到目的控制器,或者是返回对象给调用者
的这个组件就是路由组件。本文讲解如何使用核心的50行代码实现一个路由组件。
组件化和路由组件化和路由
路由的实现路由的实现
路由注册实现路由注册实现
路由使用实现路由使用实现
客户端的使用客户端的使用
一些小想法一些小想法
组件化和路由组件化和路由
之前看过挺多的关于路由管理、路由处理的文章,常常会和组件化出现在一起,一开始不知道为何路由和组件化出现在一起,
后来公司的项目中使用了路由组件(他本身也是一个组件,确切的说是一个中间人或者中介者),才突然想明白了,原来如
此。
使用组件化是为了解耦处理,多个模块之间通过协议进行交互。而负责解析协议,找到目的控制器,或者是返回对象给调用者
的这个组件就是路由组件。
路由组件的职责主要是:
给注册者提供注册接口
注册者传递path和path对应的block,block的具体实现又注册者自己处理
给调用者提供使用接口
调用者最简单可以传递一个path给路由组件发起调用,路由组件会把具体的处理转发给注册者,理论上是可以任意的操作,包
括页面跳转、弹窗提示、返回一个值给调用者等
下面会会在以上分析的基础上实现一个简单的路由组件,对应的代码可以在YTRouterDemo这里找到
路由的实现路由的实现
路由的实现包括两部分:路由注册实现以及路由使用实现
路由注册实现
路由注册实现时序图:
如上图所示,步骤很简单:
初始化一个YTRouterActionObject对象,用于保存path和对应的blok
获取到路径对应的节点,path会使用”/”符拆分为多个pathItem,每个pathItem都会保存在一个Dictionary对应的位置
上,subRouterMapWithPath负责深度遍历Dictionary,然后找到对应的位置
资源评论
weixin_38682790
- 粉丝: 3
- 资源: 978
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功