MGJRouter源码解析及使用方法
MGJRouter源码解析 MGJRouter是实现iOS组件间交互的工具之一,路由的使用降低了不同模块之间的耦合度,提高代码的复用率以及不同模块间重组的灵活度,下面我就针对MGJRouter说一下自己的理解: 注册 routes主要用于存储已经注册过的路径及block @property (nonatomic) NSMutableDictionary *routes; 下面三个方法是注册时对URL进行递归遍历以及对block进行存储 - (void)addURLPattern:(NSString *)URLPattern andHandler:(MGJRouterHandler)handler { //解析当前 URL 并转化出字典存贮在self.routes中 NSMutableDictionary *subRoutes = [self addURLPattern:URLPattern]; //将block存入到字典中 if (handler && subRoutes) { subRoutes[@"_"] = [handler copy]; } } - (void)addURLPattern:(NSString *)URLPattern andObjectHandler:(MGJRouterObjectHandler)handler { NSMutableDictionary