Wednesday, May 1, 2013

NSURL resourceSpecifier example ios

resourceSpecifier
Returns the resource specifier of the URL.
- (NSString *)resourceSpecifier
Return Value of [NSURL resourceSpecifier]
The resource specifier of the URL.
Example of [NSURL resourceSpecifier]
+(BOOL)requestIsCacheEquivalent:(NSURLRequest *)a toRequest:(NSURLRequest *)b {
    return [[[a URL] resourceSpecifier] isEqualToString:[[b URL] resourceSpecifier]];
}

Example of [NSURL resourceSpecifier]
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSLog(@"%@",request);
    Url = [request URL];
    //    if ([[UrlParts objectAtIndex:(1)] isEqualToString:@"NeverGonnaFindMe"]) {
    // CONVERT TO STRING AN CLEAN
    NSString *urlResources = [Url resourceSpecifier];
    urlResources = [urlResources stringByReplacingOccurrencesOfString:@"?" withString:@"/"];

    // SEPORATE OUT THE URL ON THE /
    NSArray *urlResourcesArray = [urlResources componentsSeparatedByString:@"/"];
    // THE LAST OBJECT IN THE ARRAY
    NSString *urlParamaters = [urlResourcesArray objectAtIndex:([urlResourcesArray count]-1)];
    // SEPORATE OUT THE URL ON THE &
    NSArray *urlParamatersArray = [urlParamaters componentsSeparatedByString:@"&"];

    if([urlParamatersArray count] == 1) {
        NSString *keyValue = [urlParamatersArray objectAtIndex:(0)];
        NSArray *keyValueArray = [keyValue componentsSeparatedByString:@"="];

        if([[keyValueArray objectAtIndex:(0)] isEqualToString:@"page"]) {
            NSLog(@"%@",[keyValueArray objectAtIndex:1]);
        }

        [self dismissModalViewControllerAnimated:YES];
        return NO;
    }
    return YES;
}