前言
組件化開發(fā)很重要的一點就是組件與組件之間的解耦,MGJRouter_Swift 主要作用就在于此捧杉。MGJRouter_Swift 是一個高效/靈活的 iOS Swift 版 URL Router,完全實現(xiàn)了蘑菇街 Object-C 版 MGJRouter 的所有功能廊蜒。
為什么本人要寫 MGJRouter_Swift 悠抹?
在 github 看了幾款不錯的 Object-C 版的 Router,比如:JLRoutes窖认、HHRouter豫柬、MGJRouter,還是覺得 Object-C 版 MGJRouter 查找 URL 更高效扑浸。
雖然 Object-C 版 MGJRouter 在 Swift 中也可以使用烧给,但是也存在問題,比如 block 回調(diào)這塊喝噪。所以說基于這個缺點础嫡,MGJRouter_Swift 就誕生了。雖然 github 上也有一款參照 Object-C 版 MGJRouter 仿寫的框架酝惧,但是卻去掉了 MGJRouter 的很多功能榴鼎,不實用。
安裝
pod 'MGJRouter_Swift'
使用姿勢
1晚唇、最基本的使用巫财;
image
2、當匹配到 URL 后哩陕,
routerParameters
會自帶幾個 key平项;
image
3、處理中文也沒有問題悍及;
image
4闽瓢、Open 時,可以傳一些 userinfo 過去心赶;
image
5扣讼、如果有可變參數(shù)(包括 URL Query Parameter)會被自動解析;
image
6缨叫、定義一個全局的 URL Pattern 作為 Fallback椭符;
image
7荔燎、當 Open 結(jié)束時,執(zhí)行 Completion Block销钝;
8湖雹、生成 URL;
URL 的處理一不小心曙搬,就容易散落在項目的各個角落摔吏,不容易管理。比如注冊時的 pattern 是mgj://beauty/:id
纵装,然后 open 時就是mgj://beauty/123
征讲,這樣到時候 url 有改動,處理起來就會很麻煩橡娄,不好統(tǒng)一管理诗箍。
所以 MGJRouter_Swift 提供了一個類方法來處理這個問題。
image
使用方式
image
這樣就可以在一個地方定義所有的 URL Pattern挽唉,使用時滤祖,用這個方法生成 URL 就行了。
協(xié)議
MGJRouter_Swift 被許可在 MIT 協(xié)議下使用瓶籽。查閱 LICENSE 文件來獲得更多信息匠童。
版本更新
- v0.1.3
新加了XWSwiftLoader
框架,用于load類方法注冊塑顺。
注??:XWSwiftLoader:Swift環(huán)境中+ (void)load;
與+ (void)initialize;
的實現(xiàn)汤求。
- v0.1.2
...
更多文章
CocoaPods開源庫的搭建
CocoaPods搭建私有庫
CocoaPods搭建私有庫遇到問題
CocoaPods私有庫的升級維護
SKStoreReviewController之程序內(nèi)評價
App應用程序圖標的動態(tài)更換
開源框架 MGJRouter_Swift
iOS的MVP設計模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa進階
iOS 性能考慮