前言:看到很多人寫的文章幾乎都是不同APP跳轉(zhuǎn)讨阻,并沒有關(guān)于組件化使用的示例。應(yīng)用內(nèi)跳轉(zhuǎn)對于初學(xué)的人也找不到方向钝吮,所以寫了個(gè)小demo。
步驟:
- 1.編輯podfile棘催,pod 'JLRoutes',然后pod install 或下載直接拖入工程
- 2.注冊
// JLRoutes本質(zhì)可以理解為:保存一個(gè)全局的Map,key是url邑跪,value是對應(yīng)的block 下列方法相當(dāng)于程序運(yùn)行加到map中數(shù)據(jù)
+ (void)load{
[[JLRoutes routesForScheme:@"nice"] addRoute:@"one" handler:^BOOL(NSDictionary<NSString *,id> * _Nonnull parameters) {
OneViewController *oneVc = [[OneViewController alloc] init];
UINavigationController *nav = parameters[@"nav"];
if (nav) {
[nav pushViewController:oneVc animated:YES];
}else{
// 真實(shí)開發(fā)是根據(jù)情況設(shè)置呼猪,一般都是保存全局導(dǎo)航,跳轉(zhuǎn)參數(shù)未傳nav值時(shí)轴踱,取值跳轉(zhuǎn)
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:oneVc animated:YES completion:^{
}];
}
return YES;
}];
}
- 3.點(diǎn)擊跳轉(zhuǎn)
- (IBAction)jumpOneVc:(id)sender {
// 點(diǎn)擊通過JLRoutes跳轉(zhuǎn) 通過JLRoutes跳轉(zhuǎn)可以解耦谚赎,在正式app中一般都是分模塊開發(fā) 比較方便
[[JLRoutes routesForScheme:@"nice"] routeURL:[NSURL URLWithString:@"one"] withParameters:@{@"nav":self.navigationController}];
}
基本的入門demo點(diǎn)此下載
后記:這樣就能在單個(gè)模塊進(jìn)行跳轉(zhuǎn),不需要引入控制器的頭文件,耦合性很小视粮。