gngrwzrd

URLParser

Oct 26th, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //HEADER
  2.  
  3. #import <Foundation/Foundation.h>
  4.  
  5. @interface URLParser : NSObject {
  6.     NSArray *variables;
  7. }
  8.  
  9. @property (nonatomic, retain) NSArray * variables;
  10.  
  11. - (id) initWithURLString:(NSString *) url;
  12. - (NSString *) valueForVariable:(NSString *) varName;
  13.  
  14. @end
  15.  
  16. //IMPLEMENTATION
  17.  
  18. #import "URLParser.h"
  19.  
  20. @implementation URLParser
  21. @synthesize variables;
  22.  
  23. - (id) initWithURLString:(NSString *) url{
  24.     self = [super init];
  25.     if(self != nil) {
  26.         NSString * string = url;
  27.         NSScanner * scanner = [NSScanner scannerWithString:string];
  28.         [scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"&?"]];
  29.         NSString * tempString = nil;
  30.         NSMutableArray * vars = [NSMutableArray new];
  31.         [scanner scanUpToString:@"?" intoString:nil];
  32.         while([scanner scanUpToString:@"&" intoString:&tempString]) {
  33.             [vars addObject:[tempString copy]];
  34.         }
  35.         self.variables = vars;
  36.     }
  37.     return self;
  38. }
  39.  
  40. - (NSString *) valueForVariable:(NSString *) varName {
  41.     for (NSString * var in self.variables) {
  42.         if ([var length] > [varName length]+1 && [[var substringWithRange:NSMakeRange(0, [varName length]+1)] isEqualToString:[varName stringByAppendingString:@"="]]) {
  43.             NSString * varValue = [var substringFromIndex:[varName length]+1];
  44.             return varValue;
  45.         }
  46.     }
  47.     return nil;
  48. }
  49.  
  50. @end
Advertisement
Add Comment
Please, Sign In to add comment