NSURL初始化失败

服务端给返回的网页加载不出来,仔细一看,url是空的!!为什么呢。

示例:

NSString *urlStr = @"http://服务器返回带有汉字的url字符串.com";
NSURL *url = [NSURL URLWithString:urlStr];
DLog(@"url = %@", url);

打印结果:

<ViewController.m : -[ViewController viewDidLoad] : 72>  url = (null)

结论:当urlStr里面包含了汉字或其他非英文字符时,就会导致创建url异常。

解决方案:

NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

为了项目稳定期间,建议对服务端返回的字符串进行UTF-8转码,以保证app的稳定。

尊重作者劳动成果,转载请注明: 【kingdev】

原文地址:https://www.cnblogs.com/xiu619544553/p/5369606.html