iOS路由简说

本文介绍了iOS路由的概念,强调其能解决耦合性、统一跨端跳转和动态配置问题。详细阐述了路由资源定义、实现流程,并对比分析了WLRRoute和JLRoutes两个路由方案的工作原理、优缺点,提供了具体的实现步骤。
摘要由CSDN通过智能技术生成

iOS路由简说

一、概念

路由就是URL到函数的映射;对于客户端来说,就是把URL映射到响应的类或者controller。
如何能把URL映射到我们已经开发的类或者controller中呢,这就需要我们首先要为其添加一个配置表,该配置表定义了URL的规则和映射的目标。

二、路由能解决哪些问题

1、 降低App页面之间的耦合性。随着项目越来越负责,各个组件和页面之间的跳转也变得越来越复杂,他们之间的跳转逻辑也变的越来越紧密,这就造成了各个模块的相互依赖越来越紧密

2、 统一各个端(iOS、Android、Web)之间实现跳转页面的统一性

3、 可以通过动态下发配置表来配置App的跳转逻辑。这样iOS和Android两边只要共用一套配置文件,通过下发修改后配置表也能实现动态的改变映射目标。

三、资源的定义

在Android与iOS系统中,均支持URL Scheme,通过app内协定的Scheme,进行唤醒app和参数的传递。例如QQ(mqq://)、支付宝(alipay://)等。

四、实现的流程

1、路由的流程实现,如下图所示,我们确定路由需要做哪些事

1.1 A模块调用路由,为表达自己需要调用的是B模块,考虑到H5、推送以及其他App 的外部调用,可以使用URL这种方式来定义目标,也就是说用URL来表示目标B

1.2对一个URL的请求来说,路由需要有统一的回调处理,当然,如果不需要回调也是可以的,回调是需要目标去触发的

1.3路由要有处理URL的功能,并调用其他模块的能力

在这里插入图片描述
2、路由的逻辑结构
在这里插入图片描述

五、路由的使用

以下是我从Github上面找的一些路由方案,按照Star从高到低排列。依次来分析一下它们各自的设计思路。

1、WLRRoute

1.1类图结构
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值