JLRoutes
URL routing library for iOS with a simple block-based API
...The handler block is expected to return a boolean for if it has handled the route or not. If the block returns NO, JLRoutes will behave as if that route is not a match and it will continue looking for a match. A route is considered to be a match if the pattern string matches and the block returns YES. It is also important to note that if you pass nil for the handler block, an internal handler block will be created that simply returns YES. JLRoutes supports setting up routes within a specific URL scheme.