開源框架 MGJRouter_Swift

image

前言

組件化開發很重要的一點就是組件與組件之間的解耦,MGJRouter_Swift 主要作用就在于此。MGJRouter_Swift 是一個高效/靈活的 iOS Swift 版 URL Router,完全實現了蘑菇街 Object-C 版 MGJRouter 的所有功能。

為什么本人要寫 MGJRouter_Swift ?

在 github 看了幾款不錯的 Object-C 版的 Router,比如:JLRoutes、HHRouter、MGJRouter,還是覺得 Object-C 版 MGJRouter 查找 URL 更高效。
雖然 Object-C 版 MGJRouter 在 Swift 中也可以使用,但是也存在問題,比如 block 回調這塊。所以說基于這個缺點,MGJRouter_Swift 就誕生了。雖然 github 上也有一款參照 Object-C 版 MGJRouter 仿寫的框架,但是卻去掉了 MGJRouter 的很多功能,不實用。

安裝

pod 'MGJRouter_Swift'

使用姿勢

1、最基本的使用;


image

2、當匹配到 URL 后,routerParameters 會自帶幾個 key;

image

3、處理中文也沒有問題;


image

4、Open 時,可以傳一些 userinfo 過去;


image

5、如果有可變參數(包括 URL Query Parameter)會被自動解析;


image

6、定義一個全局的 URL Pattern 作為 Fallback;


image

7、當 Open 結束時,執行 Completion Block;


8、生成 URL;
URL 的處理一不小心,就容易散落在項目的各個角落,不容易管理。比如注冊時的 pattern 是 mgj://beauty/:id,然后 open 時就是 mgj://beauty/123,這樣到時候 url 有改動,處理起來就會很麻煩,不好統一管理。
所以 MGJRouter_Swift 提供了一個類方法來處理這個問題。

image

使用方式
image

這樣就可以在一個地方定義所有的 URL Pattern,使用時,用這個方法生成 URL 就行了。

協議

MGJRouter_Swift 被許可在 MIT 協議下使用。查閱 LICENSE 文件來獲得更多信息。

版本更新

  • v0.1.3

新加了XWSwiftLoader框架,用于load類方法注冊。

注??:XWSwiftLoader:Swift環境中+ (void)load;+ (void)initialize;的實現。

  • v0.1.2

...

更多文章

CocoaPods開源庫的搭建
CocoaPods搭建私有庫
CocoaPods搭建私有庫遇到問題
CocoaPods私有庫的升級維護
SKStoreReviewController之程序內評價
App應用程序圖標的動態更換
開源框架 MGJRouter_Swift
iOS的MVP設計模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa進階
iOS 性能考慮

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 嗯哼嗯哼蹦擦擦~~~ 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 ...
    philiha閱讀 5,018評論 0 6
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,245評論 4 61
  • 昨天寫了一篇文章,你之所以學不好英文的理由,收到許多簡友的回復。有說應該從出生時就學英文的,有說需要方法的,但提到...
    斷林閱讀 1,302評論 2 9
  • CSS的全稱是什么? CSS(Cascding Style Sheet)層疊樣式表,一種聲明示的計算機語言,用來為...
    饑人谷_LEO閱讀 328評論 0 1
  • 古兵的《中國二十問》,問了二十個中國人。 二十人中,有殺人犯、販毒者、官員、打工者、失孤者、作者、導演、演員、畫家...
    聯動書匠閱讀 860評論 0 0