使 iOS 的 URL 路由简单化。
将以下内容添加到您的 CocoaPods Podfile 中
pod 'MCAppRouter'
或将其作为 Git 子模块克隆
或只需将 MCAppRouter
文件夹中的文件复制到您的项目中。
添加以下 URL 映射,最好在您的 App Delegate 中进行,指定以冒号开头的参数。这些参数通过设置属性(键路径)(参见 NSKeyValueCoding)传递给每个实例。
从 UIViewController 子类实例化时
[[MCAppRouter sharedInstance] mapRoute:@"color/:view.backgroundColor/" toViewControllerClass:[UIViewController class]];
从Storyboard实例化时
[[MCAppRouter sharedInstance] mapRoute:@"/user/:userID/display_name/:userName/" toViewControllerInStoryboardWithName:@"Main" withIdentifer:@"MCDemoViewController"];
之后,像这样检索所需视图控制器的实例:
UIViewController *controller = [[MCAppRouter sharedInstance] viewControllerMatchingRoute:@"/color/#2C99F8/"];
或直接在 UINavigationController
中推动它
[self.navigationController pushViewControllerMatchingRoute:@"user/201/display_name/Michael" animated:YES];
除非另有说明,否则假设参数值总是为 NSString
。目前,含有十六进制格式颜色的字符串在传递给实例之前转换为 UIColor
。欢迎提出其他建议。
MCAppRouter 在 MIT 许可下。