Skip to content

ivanyang1984/HHRouter

 
 

Repository files navigation

HHRouter

Build Status Cocoapods

Yet another URL Router for iOS. Clean, Fast & Flexible. Inspired by ABRouter & Routable iOS.

Usage

Warm Up

Map URL patterns to viewController. Better in AppDelegate.

[[HHRouter shared] map:@"/user/:userId/" toControllerClass:[UserViewController class]];

Exciting Time

Get viewController instance from URL. Params will be parsed automatically.

UIViewController *viewController = [[HHRouter shared] matchController:@"/user/1/"];
XCTAssertEqualObjects([viewController class], [UserViewController class]);
XCTAssertEqualObjects(viewController.params[@"route"], @"/user/1/");
XCTAssertEqualObjects(viewController.params[@"userId"], @"1");

URL Query Params

URL Query Params is also supported, which will make things VERY flexible.

UIViewController *viewController = [[HHRouter shared] matchController:@"/user/1/?tabIndex=3"];
XCTAssertEqualObjects(viewController.params[@"tabIndex"], @"3");

One More Thing

If your app has defined some URL schemes, HHRouter will know.

UIViewController *viewController = [[HHRouter shared] matchController:@"hhrouter://user/1/"];
XCTAssertEqualObjects([viewController class], [UserViewController class]);

Installation

pod 'HHRouter', '~> 0.1.5'
#import <HHRouter/HHRouter.h>

If you're not able to use CocoaPods, please install HHRouter as a git submodule and add the files to your Xcode project.

We're Hiring!

http://pudding.cc/opportunity/

Contact

Who use HHRouter?

If you're building your applications using HHRouter, please let me know! (add your application name & App Store link here and pull reuqest this README.

License

HHRouter is available under the MIT license.

About

Yet another URL Router for iOS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 97.3%
  • Ruby 2.7%