一个 URL 路由器,使用正则表达式解析 iOS 中的 URL。灵感来自 HHRouter
将 URL 模式映射到代码块。
GMRouter *router = [GMRouter shared];
GMRouterBlock block = ^(NSDictionary *params) {
NSLog(@"%@", params[@"uid"]);
NSLog(@"%@", params[@"pid"]);
};
[router map:@"/gemini/[uid]/[pid]" toBlock:block];
当请求 URL 时获取代码块和参数
GMRouterBlock newBlock = [router matchBlock:@"/gemini/123/23423?hello=world"];
newBlock(nil);
我们在代码块中将获得这些参数。
GMRouter *router = [GMRouter shared];
[router map:@"/q/[questionId]" toControllerClass:[UIViewController class]];
UIViewController *controller = [router matchViewController:@"/q/1000010000?__ea=111"];
XCTAssertEqualObjects(controller.params[@"questionId"], @"1000010000");