iOS路由详解

时间:2022-05-19 06:30:45

本文如题,路由详解,注定是一篇详细解释iOS路由原理及使用的文章,由于此时正在外地出差,无法详细一一写出,只能不定时的补充。

一、什么是iOS路由

路由一词来源于路由器,可以实现层级之间消息转发的功能。

二、实例

1
2
3
4
5
6
7
8
@implementation UIResponder (GXRouter)

- (void)routerEventWithName:(NSString *)eventName userInfo:(NSDictionary *)userInfo
{
[[self nextResponder] routerEventWithName:eventName us 大专栏  iOS路由详解erInfo:userInfo];
}

@end

这是UIResponder的分类的方法,由此,每个继承与UIResponder的类都可以调用这个方法。而执行此方法的却不用在当前对象中,避免了某些控件想要做一些操作却无法完成的情况,比如一个vc中的view,如果在view中要操作vc跳转,此时就没必要用view持有vc了,直接调用此路由,在vc中实现对应方法即可。方便至极。

三、一些猜想

1
- (void)routerEventWithName:(NSString *)eventName userInfo:(NSDictionary *)userInfo;

这个方法及其不稳定,因为用了NSDictionary,在调用之前无法确定其中的key值和value值。因此,完全可以用一个model代替。model可以有一个基类,方法里写入基类即可,在实际用的时候传入继承的子类。这样既保持稳定性,可读性又好。缺点是需要多写一些代码。