mirror of
https://github.com/wu736139669/ASHReactNative.git
synced 2026-08-05 05:54:53 +00:00
init
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
//
|
||||
// NSString+Util.m
|
||||
// ASHReactNative
|
||||
//
|
||||
// Created by xmfish on 17/4/10.
|
||||
// Copyright © 2017年 ash. All rights reserved.
|
||||
//
|
||||
|
||||
#import "NSString+Util.h"
|
||||
|
||||
@implementation NSString (Util)
|
||||
|
||||
- (NSDictionary*)ash_queryDictionary
|
||||
{
|
||||
NSArray *array = [self componentsSeparatedByString:@"?"];
|
||||
NSString *encodedString = array.lastObject;
|
||||
|
||||
NSMutableDictionary *result = [NSMutableDictionary dictionary];
|
||||
NSArray *pairs = [encodedString componentsSeparatedByString:@"&"];
|
||||
|
||||
for (NSString *kvp in pairs) {
|
||||
if ([kvp length] == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
NSRange pos = [kvp rangeOfString:@"="];
|
||||
NSString *key;
|
||||
NSString *val;
|
||||
|
||||
if (pos.location == NSNotFound) {
|
||||
key = [self ash_stringByUnescapingFromURLQuery:kvp];
|
||||
val = @"";
|
||||
} else {
|
||||
key = [self ash_stringByUnescapingFromURLQuery:[kvp substringToIndex:pos.location]];
|
||||
val = [self ash_stringByUnescapingFromURLQuery:[kvp substringFromIndex:pos.location + pos.length]];
|
||||
}
|
||||
|
||||
if (!key || !val) {
|
||||
continue; // I'm sure this will bite my arse one day
|
||||
}
|
||||
|
||||
[result setObject:val forKey:key];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
- (NSString *)ash_stringByUnescapingFromURLQuery:(NSString *)string
|
||||
{
|
||||
NSString *deplussed = [string stringByReplacingOccurrencesOfString:@"+" withString:@" "];
|
||||
return [deplussed stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
||||
}
|
||||
@end
|
||||
Reference in New Issue
Block a user