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

简介: <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px; line-height:26px"> <span style="font-size:18px">今天在使用URLWithString拼接NSURL的时候出现

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

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尽量这样用:
// 这样用,就不容易出现像上面的问题
        NSString *urlStr = [NSString stringWithFormat:@"%@%@?%@", host_url, baseurl, postURL];
        urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSURL *url = [NSURL URLWithString:urlStr];


这样就不容易出现URLWithString拼接NSURL为nil的情况,至少我这里就不会出现了。。
目录
相关文章
|
Dart
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数
函数(Function)也被称为方法(Method)。其最直观的理解就是数据中的函数,比如y=f(x),在编程中,f对输入x进行处理,返回结果y,就是一个函数......
1400 0
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数
|
存储 缓存 监控
iOS 底层原理39:Instruments系列(一)Instruments介绍
iOS 底层原理39:Instruments系列(一)Instruments介绍
2430 0
iOS 底层原理39:Instruments系列(一)Instruments介绍
|
安全 iOS开发
iOS页面布局:UIScrollView的布局问题
iOS页面布局:UIScrollView的布局问题
545 63
NSNumber、NSString之间的相互转换
NSNumber、NSString之间的相互转换
334 0
|
测试技术 iOS开发
用Instruments分析内存使用情况
用Instruments分析内存使用情况
1420 1
AVAudioPlayer播放音频文件时没声音
AVAudioPlayer播放一个mp3文件时,居然没有声音。mp3文件是放在工程里面的,路径没有错误但就是死活没有声音。 func playSound() { let notifyUrl = NSBundle.
1849 0
|
Apache PHP 数据安全/隐私保护
iOS Mac本地搭建Apache服务器
iOS Mac本地搭建Apache服务器
440 0
iOS Mac本地搭建Apache服务器
UITableViewStyleGrouped模式下烦人的多余间距
UITableViewStyleGrouped模式下烦人的多余间距
418 0
|
iOS开发
iOS中 喷枪打字动画的实现
实现原理比较简单,这里不做过多介绍. #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *titleLabel; @property ...
1253 0