之前也去了解路由的概念,但是一直拖著沒去認真學習,沒去實踐。因為一直覺得陌生不知怎麼下手。我知道大的專案以及元件化開發離不了路由實現。路由是一項重要的技能。我決定花一段時間去研究它、demo中實現它。一定要學會路由。並能很熟練的應用。一口吃不乙個胖子,要有耐心,從易到難。先學習乙個簡單的例子。這是蘑菇街的乙個路由的方法。只是覺得mgjrouter簡單。其原理主要是通過註冊url來實現路由跳轉。
背景mgjrouter
使用主要有兩個步驟:
註冊url生成路由表。
openurl實現跳轉。
下面是乙個簡單的使用demo:
一、我們建立乙個類globalmodulerouter,然後在+(void)load方法裡面統一註冊url
#import @inte***ce globalmodulerouter : nsobject
@end
#import "globalmodulerouter.h"
#import "mgjrouter.h"
#import "testviewcontroller1.h"
#import "testviewcontroller2.h"
#import "testviewcontroller3.h"
@implementation globalmodulerouter
// 在load方法中自動註冊,在主工程中不用寫任何**。
+ (void)load ];
[mgjrouter registerurlpattern:@"lwt://test2/pushmainvc" tohandler:^(nsdictionary *routerparameters) ];
[mgjrouter registerurlpattern:@"lwt://test3/pushmainvc" tohandler:^(nsdictionary *routerparameters) ];
[mgjrouter registerurlpattern:@"lwt://test2/getmainvc" toobjecthandler:^id(nsdictionary *routerparameters) ];
}@end
二、呼叫:
#import "viewcontroller.h"
#import "mgjrouter.h"
@inte***ce viewcontroller ()
@end
@implementation viewcontroller
- (void)viewdidload
- (ibaction)pushtest1moduleaction:(id)sender
completion:nil];
}- (ibaction)pushtest2moduleaction:(id)sender
completion:nil];
}- (ibaction)pushtest3moduleaction:(id)sender ,
}completion:nil];
}- (ibaction)objecttestaction:(id)sender ] animated:yes];
}
pod 『mgjrouter』, 『~>0.9.0』
mgjrouter_swift版本
參考[ios] 元件化之一:mgjrouter的簡單實用
iOS 高階之路
自己閱讀,翻譯,裡面不懂的單詞,記下來,多學幾遍,這些你不懂的單詞,在以後你看其他時文件裡還會出現無數次的。堅持幾個月後,你會發現,英文的文件,看起來比中文的順眼了。為什麼要找自己熟悉的技術看,因為那樣的話,你更容易理解和增加信心。作為技術人員為什麼要寫部落格 即便沒有讀者,你也要寫部落格 原始碼 ...
iOS 高階之路 2
1.屬性 assign 純量型別 例如 cgfloat strong 擁有關係 為這種屬性設定新值時候,設定方法會先保留新值,並釋放舊值,然後將新值設定上去 weak 非擁有關係 為這種屬性設定新值時候,既不保留新值,也不釋放舊值。屬性所指的物件遭到摧毀時,屬性值也會清空 unsafe unreta...
高階靜態路由之路由過濾(一)
一 說明 1 ip route命令 ip route dest network mask administrative distance permanent dest network 目的網路 mask 目的網路子網掩碼 exit inte ce 去往目的網路的出站介面 administrative...