//字典转链接(参数)

- (NSString *)keyValueStringWithDict:(NSDictionary *)dict
{
if (dict == nil) {
return nil;
}
NSMutableString *string = [NSMutableString stringWithString:@"?"];
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[string appendFormat:@"%@=%@&",key,obj];
}]; if ([string rangeOfString:@"&"].length) {
[string deleteCharactersInRange:NSMakeRange(string.length - , )];
} return string;
} //链接转字典 (参数)
-(NSDictionary *)dictionaryWithUrlString:(NSString *)urlStr
{
if (urlStr && urlStr.length && [urlStr rangeOfString:@"?"].length == ) {
NSArray *array = [urlStr componentsSeparatedByString:@"?"];
if (array && array.count == ) {
NSString *paramsStr = array[];
if (paramsStr.length) {
NSMutableDictionary *paramsDict = [NSMutableDictionary dictionary];
NSArray *paramArray = [paramsStr componentsSeparatedByString:@"&"];
for (NSString *param in paramArray) {
if (param && param.length) {
NSArray *parArr = [param componentsSeparatedByString:@"="];
if (parArr.count == ) {
[paramsDict setObject:parArr[] forKey:parArr[]];
}
}
}
return paramsDict;
}else{
return nil;
}
}else{
return nil;
}
}else{
return nil;
}
}
//特殊链接解析不了 。  'https://wwww.baidu.com/#/sdffff?name=sdfff&pass=dddff'
/**
获取url的所有参数
@param url 需要提取参数的url
@return NSDictionary
*/
-(NSDictionary *) parameterWithURL:(NSURL *) url { NSMutableDictionary *parm = [[NSMutableDictionary alloc]init]; //传入url创建url组件类
NSURLComponents *urlComponents = [[NSURLComponents alloc] initWithString:url.absoluteString]; //回调遍历所有参数,添加入字典
[urlComponents.queryItems enumerateObjectsUsingBlock:^(NSURLQueryItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
[parm setObject:obj.value forKey:obj.name];
}]; return parm;
}

最新文章

  1. 浮点数 (IEEE-754)
  2. SQL知识整理二:锁、游标、索引
  3. python pexpect 学习与探索
  4. bootstrap-datepicker的使用
  5. Eclipse的java代码出错:The import org.apache cannot be resolved
  6. UML-用例
  7. ViewFilpper
  8. HDU 4741 Save Labman No.004 2013 ACM/ICPC 杭州网络赛
  9. 《Python爬虫学习系列教程》学习笔记
  10. CodeForces 662D International Olympiad
  11. 一个web应用的诞生(11)--在探首页
  12. python 最佳实践与资源汇总
  13. JAVA异步加回调的例子
  14. Tarjan求LCA
  15. C# 利用ReportViewer生成报表
  16. 第十三节,卷积神经网络之经典网络LeNet-5、AlexNet、VGG-16、ResNet(三)(后面附有一些网络英文翻译文章链接)
  17. windows Tomcat apr安装
  18. 自带hyper -v 或者 Vmware安装Linux centos
  19. 简明python教程 --C++程序员的视角(五):面向对象的编程
  20. java中需要用equals来判断两个字符串值是否相等

热门文章

  1. Android传感器开发
  2. 【LeetCode】103. Binary Tree Zigzag Level Order Traversal
  3. mosquitto --- 单向认证
  4. python笔记-print输出
  5. vector 类简介和例程
  6. Pku3673
  7. 基于Bootstrap的Asp.net Mvc 分页的实现(转)
  8. Python多线程1:threading
  9. tp配置+路由+基本操作
  10. GraphicsMagick 学习笔记