Skip to content

Instantly share code, notes, and snippets.

@virasio
Last active August 29, 2015 13:58
Show Gist options
  • Save virasio/10253030 to your computer and use it in GitHub Desktop.
Save virasio/10253030 to your computer and use it in GitHub Desktop.
NSURL+Dictionaries — Returns properties query and fragment of NSURL as NSDictionary
@interface NSURL (QueryDictionary)
- (NSDictionary *)queryDictionary;
@end
#import "NSURL+QueryDictionary.h"
@implementation NSURL (QueryDictionary)
- (NSDictionary *)queryDictionary
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
NSArray *parameters = [self.query componentsSeparatedByString:@"&"];
for (NSString *parameter in parameters) {
NSArray *parts = [parameter componentsSeparatedByString:@"="];
NSString *key = [[parts objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if ([parts count] > 1)
{
id value = [[parts objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[dict setObject:value forKey:key];
}
}
return [NSDictionary dictionaryWithDictionary:dict];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment