[nsurl urlwithString:] 返回结果为nil

转载 2016年08月31日 11:18:40

今天在使用URLWithString拼接NSURL的时候出现了nil:

[objc] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@?%@",host_url,baseurl,postURL]];  


查了一下原因:

This method expects URLString to contain any necessary percent escape codes, which are ‘:’, ‘/’, ‘%’, ‘#’, ‘;’, and ‘@’. Note that ‘%’ escapes are translated via UTF-8.



大概的意思是说,转义方面的,但并非我这里拼接为nil的原因。不过他给的解决方案缺让我最终拼接的NSURL不为nil了。。


所以以后在使用URLWithString来拼接NSURL尽量这样用:
[objc] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. // 这样用,就不容易出现像上面的问题  
  2.         NSString *urlStr = [NSString stringWithFormat:@"%@%@?%@", host_url, baseurl, postURL];  
  3.         urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
  4.         NSURL *url = [NSURL URLWithString:urlStr];  


这样就不容易出现URLWithString拼接NSURL为nil的情况,至少我这里就不会出现了。。
0

iOS URLWithString返回为空nil的解决方案

[NSURL URLWithString:@"…………"] 但是貌似汉字或者空格等无法被识别,String不被认为是URLString,这个NSURL的值也就一直是nil 要怎样才能够让它识别呢?...
  • u011404663
  • u011404663
  • 2015年08月28日 17:15
  • 3408

直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的

今天在使用URLWithString拼接NSURL的时候出现了nil: NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%...
  • zengraoli
  • zengraoli
  • 2013年11月22日 09:39
  • 21688

iPhone 中文的Url直接传进NSURL类中初始化时是会返回nil

上周测试iPhone应用时,发现带有中文的Url无法发起HTTP请求,经过检查发现把带有中文的Url直接传进NSURL类中初始化时是会返回nil的,就是因为这个原因导致无法请求信息。因此,在网上找了一...
  • zltianhen
  • zltianhen
  • 2011年10月31日 12:37
  • 888

NSURL urlWithString 得到的对象为空的问题原因以及解决

原因:NSURL urlWithString  这个方法要求传一个字符串类型的参数,参数如果有中文的话,...
  • yesjava
  • yesjava
  • 2014年05月06日 11:25
  • 5636

【NSURL URLWithString:url 】中string不为空而URL输出为空的情况

[NSURL URLWithString:@"…………"] 但是貌似汉字或者空格等无法被识别,String不被认为是URLString,这个NSURL的值也就一直是nil 要怎样才能够让它...
  • kareily
  • kareily
  • 2014年03月18日 15:25
  • 1550

包含中文字符的NSString转换为NSURL结果为nil解决方法

使用stringByAddingPercentEncodingWithAllowedCharacters转换一下就好了
  • Dwarven
  • Dwarven
  • 2015年12月15日 11:57
  • 2900

fileURLWithPath:和URLWithString:的区别

一句话。。。 通过URL加载本地数据,使用方法 NSURL *fileURL = [NSURL fileURLWithPath:path];通过URL加载远程服务器,使用方法NSURL *file...
  • yanjinfeng_S
  • yanjinfeng_S
  • 2015年08月25日 16:05
  • 1868

直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的

今天在使用URLWithString拼接NSURL的时候出现了nil: [objc] view plain copy  print? NSURL *url...
  • xiongbaoxr
  • xiongbaoxr
  • 2017年01月09日 20:57
  • 314

IOS编程 浅析

1、简介IOS是由苹果公司为iPhone、iPod touch和iPad等设备开发的操作系统。2、知识点1、委托机制与Core location委托机制是Cocoa Touch的一种设计模式,Core...
  • banketree
  • banketree
  • 2014年10月10日 09:51
  • 15669

使用openURL打开另外一个应用程序

一 打开系统允许的应用程序 详情见API文档xcdoc://?url=developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme...
  • u013921981
  • u013921981
  • 2014年10月11日 15:13
  • 889
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[nsurl urlwithString:] 返回结果为nil
举报原因:
原因补充:

(最多只允许输入30个字)