ios 从URL中截取所包含的参数,并且以字典的形式返回
来源:互联网 发布:苹果怎么连不上4g网络 编辑:程序博客网 时间:2024/05/18 02:11
从URL中截取所包含的参数,并且以字典的形式返回
/** * 截取URL中的参数 * * @return NSMutableDictionary parameters */- (NSMutableDictionary *)getURLParameters:(NSString *)urlStr { // 查找参数 NSRange range = [urlStr rangeOfString:@"?"]; if (range.location == NSNotFound) { return nil; } // 以字典形式将参数返回 NSMutableDictionary *params = [NSMutableDictionary dictionary]; // 截取参数 NSString *parametersString = [urlStr substringFromIndex:range.location + 1]; // 判断参数是单个参数还是多个参数 if ([parametersString containsString:@"&"]) { // 多个参数,分割参数 NSArray *urlComponents = [parametersString componentsSeparatedByString:@"&"]; for (NSString *keyValuePair in urlComponents) { // 生成Key/Value NSArray *pairComponents = [keyValuePair componentsSeparatedByString:@"="]; NSString *key = [pairComponents.firstObject stringByRemovingPercentEncoding]; NSString *value = [pairComponents.lastObject stringByRemovingPercentEncoding]; // Key不能为nil if (key == nil || value == nil) { continue; } id existValue = [params valueForKey:key]; if (existValue != nil) { // 已存在的值,生成数组 if ([existValue isKindOfClass:[NSArray class]]) { // 已存在的值生成数组 NSMutableArray *items = [NSMutableArray arrayWithArray:existValue]; [items addObject:value]; [params setValue:items forKey:key]; } else { // 非数组 [params setValue:@[existValue, value] forKey:key]; } } else { // 设置值 [params setValue:value forKey:key]; } } } else { // 单个参数 // 生成Key/Value NSArray *pairComponents = [parametersString componentsSeparatedByString:@"="]; // 只有一个参数,没有值 if (pairComponents.count == 1) { return nil; } // 分隔值 NSString *key = [pairComponents.firstObject stringByRemovingPercentEncoding]; NSString *value = [pairComponents.lastObject stringByRemovingPercentEncoding]; // Key不能为nil if (key == nil || value == nil) { return nil; } // 设置值 [params setValue:value forKey:key]; } return params;}
0 0
- ios 从URL中截取所包含的参数,并且以字典的形式返回
- ios 从URL中截取所包含的参数,并且以字典的形式返回和参数字典转URL
- 拿到url中包含的参数 - iOS
- ios中URL中出现字典参数的处理问题
- iOS 中url截取参数
- 关于jsp中,以url形式传递中文参数的乱码的问题
- URL参数的截取
- 获取request中的参数,以Map的形式返回
- java实现截取网页中所包含的网址
- 在字符串中找出连续最长的数字串并以参数形式返回,并把这个串的长度返回
- 拆分数据库字段中字符串,以表的形式返回
- 截取URL拼接的参数
- 截取url后面的参数
- iOS 密码中有特殊的字符IOS如何处理 IOS中URL包含中文参数的问题
- C语言K&R习题系列——统计文档中每个单词所包含的字母个数,以直方图形式输出
- 以二进制的形式从数据库中存取图片
- jquery截取地址栏中url参数的值
- 密码中有特殊的字符IOS如何处理 IOS中URL包含中文参数的问题
- 如何通过IP地址进行精准定位
- Android中Glide加载库的图片缓存配置究极指南
- PYTHON的程序在LINUX后台运行
- fflush不能强制刷新到磁盘
- ThinkPHP框架IndexController中构造函数__construct导致的相关问题
- ios 从URL中截取所包含的参数,并且以字典的形式返回
- 边界不对称性
- Django & webpack & Docker & Apache 实践修正
- 16.11.5
- foo1
- String Task
- js数组的操作
- SpringDataJpa增删改查
- 随机抽样一致性(RANSAC: Random Sample Consensus)