iOS组件化使用JLRoutes示例

前言:看到很多人写的文章几乎都是不同APP跳转,并没有关于组件化使用的示例。应用内跳转对于初学的人也找不到方向,所以写了个小demo。

步骤:

  • 1.编辑podfile,pod 'JLRoutes',然后pod install 或下载直接拖入工程
  • 2.注册
// JLRoutes本质可以理解为:保存一个全局的Map,key是url,value是对应的block 下列方法相当于程序运行加到map中数据
+ (void)load{
  
    [[JLRoutes routesForScheme:@"nice"] addRoute:@"one" handler:^BOOL(NSDictionary * _Nonnull parameters) {
      
        OneViewController *oneVc = [[OneViewController alloc] init];
        UINavigationController *nav = parameters[@"nav"];
        if (nav) {
             [nav pushViewController:oneVc animated:YES];
        }else{
            // 真实开发是根据情况设置,一般都是保存全局导航,跳转参数未传nav值时,取值跳转
            [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:oneVc animated:YES completion:^{
                
            }];
        }
       
        return YES;
    }];
}
  • 3.点击跳转
- (IBAction)jumpOneVc:(id)sender {
    
    // 点击通过JLRoutes跳转  通过JLRoutes跳转可以解耦,在正式app中一般都是分模块开发 比较方便
    [[JLRoutes routesForScheme:@"nice"] routeURL:[NSURL URLWithString:@"one"] withParameters:@{@"nav":self.navigationController}];
}

基本的入门demo点此下载

后记:这样就能在单个模块进行跳转,不需要引入控制器的头文件,耦合性很小。

你可能感兴趣的:(iOS组件化使用JLRoutes示例)