最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS路由(MGJRouter)的實現(xiàn)

 更新時間:2018年09月17日 15:08:53   作者:深圳張學(xué)友  
這篇文章主要介紹了iOS路由(MGJRouter)的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

背景

最開始想做路由,是因為當(dāng)時app中有大量與H5之間的交互,原生和H5的跳轉(zhuǎn)操作比較多比較頻繁,新增一個跳轉(zhuǎn)又涉及到改代碼發(fā)版本,為了統(tǒng)一iOS、安卓和H5的跳轉(zhuǎn),引入了路由。

作用

后來發(fā)現(xiàn)路由,還可很多作用。Router就像是個調(diào)度中心,各個模塊通過路由調(diào)度其他模塊,模塊之間不需要相互引用,調(diào)度方式更加統(tǒng)一,更加自由,能夠?qū)崿F(xiàn)解耦的作用,同時也為之后的組件化開發(fā)提供了基礎(chǔ)。


路由選擇

目前github優(yōu)秀的路由設(shè)計已經(jīng)有很多,如JLRoutes,MGJRouter,CTMediator。

JLRoutes提供的功能比較復(fù)雜,有很多我個人用不上的功能,所以沒有選擇。

CTMediator更適合業(yè)務(wù)比較復(fù)雜的情況,MGJRouter的使用上更加容易上手,功能也比較簡單,更加適用于頁面跳轉(zhuǎn)這種業(yè)務(wù)比較多的場景。所以我項目中選擇了MGJRouter

JLRoutes

  1. 集成簡單
  2. 可以處理各種各樣的url
  3. 支持通配符
  4. 支持多個scheme
  5. 比較純粹,不支持打開頁面后的值回傳。要自己再加工。

MGJRouter

  1. 代碼簡單易懂
  2. 功能全面
  3. 支持push值回傳
  4. 支持多scheme
  5. openUrl時支持一個userInfo (造成了跟系統(tǒng)的不統(tǒng)一,多出來的參數(shù)還是可以放到url中,傳對象的時候有點用)(模塊內(nèi)部傳對象可以用,模塊間的話不應(yīng)該傳對象,會造成耦合)

MGJRouter

MGJRouter就一個單例類,使用前需要通過注冊組件,調(diào)用方通過URL調(diào)用服務(wù)方頁面,通過路由表的映射關(guān)系進行關(guān)聯(lián),調(diào)用方可以傳入復(fù) 雜的參數(shù)、對象等。

基本跳轉(zhuǎn)主要是注冊組件,調(diào)用openURl方法,傳入?yún)?shù)即可實現(xiàn)。

[MGJRouter registerURLPattern:@"mgj://foo/bar" toHandler:^(NSDictionary *routerParameters) {
  NSLog(@"routerParameterUserInfo:%@", routerParameters[MGJRouterParameterUserInfo]);
}];

[MGJRouter openURL:@"mgj://foo/bar"];

使用一個類來統(tǒng)一管理注冊的方法,再load方法中進行注冊,就不會到處看到注冊的代碼,方便管理。

url注冊管理類

很多人說沒有反向傳值的方法,其實和我們其他跳轉(zhuǎn)一樣,傳參數(shù)的時候使用block即可解決。

[MGJRouter openURL:@"LWT://Test3/PushMainVC"withUserInfo:@{
  @"navigationVC" : self.navigationController,
  @"block":^(NSString * text){NSLog(@"%@",text); },
  }
      completion:nil];

代碼下載

demo中有MGJRouter各個方法的使用案例,包括跳轉(zhuǎn),獲取組件,正反向傳參。

MGJRouter使用Demo

 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS Swift創(chuàng)建代理協(xié)議的多種方式示例

    iOS Swift創(chuàng)建代理協(xié)議的多種方式示例

    這篇文章主要給大家介紹了關(guān)于iOS Swift創(chuàng)建代理協(xié)議的多種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • iOS消息發(fā)送和轉(zhuǎn)發(fā)示例詳解

    iOS消息發(fā)送和轉(zhuǎn)發(fā)示例詳解

    這篇文章主要給大家介紹了關(guān)于iOS消息發(fā)送和轉(zhuǎn)發(fā)的相關(guān)資料,用Objective-C的術(shù)語來講,這叫做“給某個對象發(fā)送某條消息”。文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • 實例講解iOS中的CATransition轉(zhuǎn)場動畫使用

    實例講解iOS中的CATransition轉(zhuǎn)場動畫使用

    CATransition類為應(yīng)用程序的轉(zhuǎn)場動畫提供了很多可控制參數(shù),接下來我們就以幾個實例講解iOS中的CATransition轉(zhuǎn)場動畫使用,需要的朋友可以參考下
    2016-06-06
  • iOS QQ第三方登錄實現(xiàn)

    iOS QQ第三方登錄實現(xiàn)

    這篇文章主要介紹了iOS QQ第三方登錄實現(xiàn)的全過程,一步一步告訴大家iOS QQ實現(xiàn)第三方登錄的方法,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 99%?iOS開發(fā)都不知道的KVO崩潰分析詳解

    99%?iOS開發(fā)都不知道的KVO崩潰分析詳解

    這篇文章主要為大家介紹了99%?iOS開發(fā)都不知道的KVO崩潰分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 沙盒路徑獲取以及圖片保存到相簿的方法

    沙盒路徑獲取以及圖片保存到相簿的方法

    下面小編就為大家分享一篇沙盒路徑獲取以及圖片保存到相簿的方法,具有很的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 舉例講解設(shè)計模式中的原型模式在iOS應(yīng)用開發(fā)中的作用

    舉例講解設(shè)計模式中的原型模式在iOS應(yīng)用開發(fā)中的作用

    這篇文章主要介紹了設(shè)計模式中的原型模式在iOS應(yīng)用開發(fā)中的作用,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-04-04
  • iOS開發(fā)實戰(zhàn)之Label全方位對齊的輕松實現(xiàn)

    iOS開發(fā)實戰(zhàn)之Label全方位對齊的輕松實現(xiàn)

    這篇文章主要給大家介紹了關(guān)于iOS開發(fā)實戰(zhàn)之輕松實現(xiàn)Label全方位對齊的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • 詳解Objective-C中的語法糖@{}究竟是什么

    詳解Objective-C中的語法糖@{}究竟是什么

    這篇文章主要給大家介紹了關(guān)于Objective-C中語法糖@{}究竟是什么的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • iOS仿熱門話題熱點輪播界面tableView

    iOS仿熱門話題熱點輪播界面tableView

    這篇文章主要為大家詳細介紹了iOS仿熱門話題熱點輪播界面tableView,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

武义县| 建宁县| 黄龙县| 如皋市| 广元市| 昌图县| 九龙县| 金沙县| 昌都县| 浪卡子县| 仙游县| 来凤县| 托克托县| 句容市| 台山市| 油尖旺区| 开平市| 琼中| 新和县| 施甸县| 金塔县| 台山市| 永兴县| 仁寿县| 民丰县| 于田县| 兴海县| 虎林市| 荆州市| 隆子县| 蓬溪县| 临沂市| 大邑县| 班戈县| 宝兴县| 南岸区| 广州市| 新化县| 赣榆县| 博客| 宣化县|