MGJRouter源码解析MGJRouter是实现iOS组件间交互的工具之一,路由的使用降低了不同模块之间的耦合度,提高代码的复用率以及不同模块间重组的灵活度,下面我就针对MGJRouter说一下自己的理解:注册routes主要用于存储已经注册过的路径及block@property (nonatomic) NSMutableDictionary *routes;下面三个方法是注册时对URL进行递归
转载 2024-09-11 10:48:17
76阅读
iOS Scheme跳转主流实现方案主要是路由跳转,目前iOS常用路由框架是JLRouter、HHRouter、MGJRouter。 但是这些路由库都各有不足,首先是JLRouter,用不到的功能繁多,而且基于遍历查找URL,效率低下。HHRouter耦合程度太高,过度依赖ViewController。MGJRouter功能太过简单。今天介绍一个新发现很好用的iOS路由框架,FFRouter:FF
转载 2024-09-12 23:51:17
106阅读
目前iOS常用路由框架是JLRouter、HHRouter、MGJRouter。 但是这些路由库都各有不足,首先是JLRouter,用不到的功能繁多,而且基于遍历查找URL,效率低下。HHRouter耦合程度太高,过度依赖ViewController。MGJRouter功能太过简单。今天介绍一个新发现的iOS路由框架,FFRouter:FFRouter 是 iOS 中一个强大且易用的 URL 路由
转载 2023-07-24 13:40:32
255阅读
组件化的几种方案:方案一、url-block通过在启动时注册组件提供的服务,把调用组件所使用的URL 和 组件提供的服务block对应起来,保存在内存中,在使用时候通过url找到对应的block从而获取服务;示例:注册:. [MGJRouter registerURLPattern:@"mgj://detail?id=:id" toHandler:^(NSDictionary *routerPar
为了研究组件化,我们主要是讨论 蘑菇街的路由+协议式 和 中间件讨论第一种方式,并参考 蘑菇街IOS组件化 ,我们来实现一个可以运行的demo,并讨论优缺点。路由用MGJRouter 单例,通过 订阅或注册 和 发布或使用 来实现。肯定有点模糊,我们开始代码化。确定唯一标识通过mgj://detail?id=:id 注册,通过 mgj://detail?id=5 传递参数,首先我们找到两个url的
一、项目背景一套完备的路由方案是推进组件化进程前提,为了能够为所在的业务量身定做一套适合自己的路由方案,我做了一定的调研分析,我特意找了市场几款主流的路由方案进行简单的分析比对,希望可以集各家所长,它们有JLRouter、MGJRouter、CTMediator等,分析的比较浅陋,如有不准确的地方,可以及时留言指出;二、JLRouterJLRouter是一个纯粹的URL路由管理库,主要分为路由UR
转载 2023-09-12 08:17:41
191阅读
文章目录模块化的意义模块化的粒度组件组件化方案MGJRouter 的路由映射CTMediator 中间者Category的编写 模块化的意义当项目大到一定程度,开发人员也多,所有的代码都集中到一个仓库,提交修改都要等其他人提交完成不报错才能开始,非常麻烦。再者就是代码之间耦合严重,到处引用,穿插错综复杂,往往改变一个变量,需要修改很多处代码,很容易出错。对于这种情况,就要进行架构整治,模块化无疑