美文网首页
iOS-URL参数格式化

iOS-URL参数格式化

作者: 和谐共处 | 来源:发表于2019-06-12 10:49 被阅读0次
//url参数转为NSDictionary
- (NSDictionary *)queryParamsFormat:(NSString *)urlStr{
    NSRange questionRange = [urlStr rangeOfString:@"?"];
    if (questionRange.length == 0) {
        return nil;
    }

    NSString *query = [urlStr substringFromIndex:questionRange.location+1];
    if (query.length>0) {
        query = [query stringByAppendingString:@"&end=placeholder"];
        NSArray *kvItems = [query componentsSeparatedByString:@"&"];
        NSMutableDictionary *params = [[NSMutableDictionary alloc] initWithCapacity:0];
        for (NSString *kvItem in kvItems) {
            NSArray *kvs = [kvItem componentsSeparatedByString:@"="];
            [params setValue:kvs.lastObject forKey:kvs.firstObject];
        }
        if (params.allKeys.count>0) {
            return params;
        }
    }
    return nil;
}
//NSDictionary转为url参数
- (NSString *)queryParamsFromDic:(NSDictionary *)dic{
    
    NSMutableArray *params = [NSMutableArray arrayWithCapacity:0];
    [dic enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
        NSString *kvpair = [NSString stringWithFormat:@"%@=%@",key,obj];
        [params addObject:kvpair];
    }];
    if (params.count>0) {
        NSString *queryParams = [params componentsJoinedByString:@"&"];
        if (params.count==1) {
            queryParams = params.firstObject;
        }
        return [@"?" stringByAppendingString:queryParams];
    }
    
    return nil;
}

相关文章

网友评论

      本文标题:iOS-URL参数格式化

      本文链接:https://www.haomeiwen.com/subject/xgekfctx.html