开源框架 MGJRouter_Swift

MGJRouter_Swift是一款为iOS Swift开发设计的高效、灵活URL Router,完全实现Object-C版MGJRouter的功能,解决Swift中使用Object-C版存在的block回调问题。支持中文处理、可变参数自动解析、全局URLPattern定义及统一URL管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
前言

组件化开发很重要的一点就是组件与组件之间的解耦,MGJRouter_Swift 主要作用就在于此。MGJRouter_Swift
是一个高效/灵活的 iOS Swift 版 URL Router,完全实现了蘑菇街 Object-C 版 MGJRouter 的所有功能。

为什么本人要写 MGJRouter_Swift ?

在 github 看了几款不错的 Object-C 版的
Router,比如:JLRoutes、HHRouter、MGJRouter,还是觉得 Object-C 版 MGJRouter 查找 URL
更高效。 虽然 Object-C 版 MGJRouter 在 Swift 中也可以使用,但是也存在问题,比如 block
回调这块。所以说基于这个缺点,MGJRouter_Swift 就诞生了。虽然 github 上也有一款参照 Object-C 版
MGJRouter 仿写的框架,但是却去掉了 MGJRouter 的很多功能,不实用。

安装

pod 'MGJRouter_Swift'

使用姿势

1、最基本的使用;
在这里插入图片描述

2、当匹配到 URL 后,routerParameters 会自带几个 key;
在这里插入图片描述

3、处理中文也没有问题;
在这里插入图片描述

4、Open 时,可以传一些 userinfo 过去;
在这里插入图片描述

5、如果有可变参数(包括 URL Query Parameter)会被自动解析;
在这里插入图片描述

6、定义一个全局的 URL Pattern 作为 Fallback;
在这里插入图片描述

7、当 Open 结束时,执行 Completion Block;
在这里插入图片描述

8、生成 URL; URL 的处理一不小心,就容易散落在项目的各个角落,不容易管理。比如注册时的 pattern 是
mgj://beauty/:id,然后 open 时就是 mgj://beauty/123,这样到时候 url
有改动,处理起来就会很麻烦,不好统一管理。 所以 MGJRouter_Swift 提供了一个类方法来处理这个问题。
在这里插入图片描述
使用方式
在这里插入图片描述
这样就可以在一个地方定义所有的 URL Pattern,使用时,用这个方法生成 URL 就行了。

协议

MGJRouter_Swift 被许可在 MIT 协议下使用。查阅 LICENSE 文件来获得更多信息。

更多文章

CocoaPods开源库的搭建
CocoaPods搭建私有库
CocoaPods搭建私有库遇到问题
CocoaPods私有库的升级维护
SKStoreReviewController之程序内评价
App应用程序图标的动态更换
开源框架 MGJRouter_Swift
iOS的MVP设计模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa进阶
iOS 性能考虑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值