diff --git a/README.md b/README.md index 2b023a1..063002a 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,14 @@ Type-safe URL routing for Swift. +## Usage + ```swift struct UserIndex : Route { let path = "/users" - func map(to url: URL, parameters: [String : String], queries: [String : String]) { - print("user index") + func map(to url: URL, parameters: [String : String], queries: [String : String]) -> UIViewController { + return UserIndexViewController() } } @@ -18,16 +20,24 @@ struct UserDetail : Route { let id: Int } - func map(to url: URL, parameters: Parameters, queries: [String : String]) { - print("user detail: \(parameters.id)") + func map(to url: URL, parameters: Parameters, queries: [String : String]) -> UIViewController { + return UserDetailViewController(id: parameters.id) } } -let router = Router() +// Use `Navigator` (for iOS) +Navigator.append(route: UserIndex()) +Navigator.append(route: UserDetail()) + +Navigator.push(url: URL(string: "/users/42")!, animated: true) +Navigator.present(url: URL(string: "/users/42")!, animated: true) + +// Use `Router` +let router = Router() router.append(route: UserIndex()) router.append(route: UserDetail()) -router.push(url: URL(string: "/users/42")!) // user detail: 42 +router.push(url: URL(string: "/users/42")!) // Return `UserDetailViewController` ``` ## License