重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个意思就是你做的这个东西, 它在某些国家可能是非法的
创新互联专业为企业提供鄞州网站建设、鄞州做网站、鄞州网站设计、鄞州网站制作等企业网站建设、网页设计与制作、鄞州企业网站模板建站服务,十多年鄞州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
你需要给出一份法律证明, 证明这个东西在"哪个国家"是合法的, 比如在中国, 你需要设置它的area是china, 并且要给出一份书面的附件说明, 证明在中国, 这个彩票APP是合法的
并且这个APP必须是免费的, 不能用于盈利.
iOS路由目前业内流行的有两大分类:1、基于URL或protocol的注册调度型路由 2、runtime调度型路由
其中protocol类型的路由查的资料中目前只找到了一个MGJRouter,就是蘑菇街路由,但是这个主库已经被删了,所以这个类型的就不再讨论了。
下面为大家整理了一下这两种类型路由各自的原理、优缺点、常见的第三方库等,参见下表:
下面我再针对表中常见的第三方库的详细使用方法进行介绍:
5.5k Star
1.1.1.1:
在BaseViewController和BaseTabBarController中添加设置参数方法,供子方法继承(统一处理)
1.1.1.2:添加接收到路由后的处理操作(统一处理)
一般放在AppDelegate中的didFinishLaunchingWithOptions方法中进行配置;需要集中管理的话得自己去写工具类统一调度
1.1.1.3:页面处理传参
HnxxtNewsParentViewController里继承方法处理传参(页面各自处理)
1.1.2.1:跳转到页面,无参数(页面各自处理)
1.1.2.2:跳转到页面,有参数(页面各自处理)
1.1.2.2:跳转到页面,有参数,指定present方式(页面各自处理)
在AppDelegate中的 openURL 方法统一处理
JLRoutes的封装
参考: iOS 组件化-路由解耦思想 JLRoutes 实战篇(一)App内控制器跳转
GitHub工程
1.添加VC配置到路由表
在AppDelegate中的 openURL 方法统一处理
1.8k Star
1.3.1.1 在AppDelegate中的didFinishLaunchingWithOptions方法中进行路由注册及导航栏设置;需要集中管理的话得自己去写工具类统一调度
1.3.1.2 在目标UIViewController中实现方法:initWithRouterParams: ,也就是如果用这个库,工程里的vc都得实现这个方法
在需要跳转的地方调用:
查看源码是没有提供处理外部应用打开当前app的相关路由方法,只提供了一个:openExternal:(NSString *)url 方法,该方法只是用来打开app外部应用的方法。所以对于外部打开app处理还是同上述一致:
在AppDelegate中的 openURL 方法统一处理
1.6k Star
1.4.1.1 在AppDelegate的didFinishLaunchingWithOptions方法中进行路由注册;统一管理也是需要自己定义工具类
在需要跳转的地方调用
查看源码也是没有提供处理外部应用打开当前app的相关路由方法,所以对于外部打开app处理还是同上述一致:
在AppDelegate中的 openURL 方法统一处理
8 star
参考HHRouter实现的路由,优化了传参方式,不再通过url传参,而是通过方法传参
在AppDelegate的didFinishLaunchingWithOptions方法中进行路由注册:
查看源码也是没有提供处理外部应用打开当前app的相关路由方法,所以对于外部打开app处理还是同上述一致:
在AppDelegate中的 openURL 方法统一处理
3.8k Star
假如路由目标vc叫 HnxxtNewsParentViewController:
1、新建Target_Hnxxt类,在这个类里去写方法提供HnxxtNewsParentViewController的实例
2、创建 CTMediator 的 Category,比如叫CTMediator+Hnxxt,在这个类里提供对外调用的路由方法
这个库也不需要初始化操作;另外这里在Target_Hnxxt和CTMediator+Hnxxt中都对路由进行了统一管理;Target_Hnxxt使CTMediator和具体的路由目标类进行了解耦,详细示例如下:
在AppDelegate中的 openURL 方法进行处理,思路也是将远程的url转换为本地的跳转方式
以上就是对目前iOS 比较流行的路由库的笼统介绍,期间涉及到的第三方库的使用细节,还需要大家在用到的时候再仔细对照官方文档和demo,也可以参考下面这些我总结的相关技术博客,比官方文档更贴合实际使用:
参考资料:
iOS 组件化 —— 路由设计思路分析
iOS 组件化-路由解耦思想 JLRoutes 实战篇(一)App内控制器跳转
routable-ios源码解析
iOS开发 — HHRouter路由数据传递开发分享
CTMediator: iOS应用架构谈 组件化方案
CTMediator:在现有工程中实施基于CTMediator的组件化方案
CTMediator 的初体验
华为的vrp和H3C的CMW都是基于linux开发出来的。思科的IOS其实也是基于linux开发的。主要是由于linux是开源的。