网络请求的基本套路:
1、NSString *string = @”http://www.yusian.com/blog”;
2、NSURL *url = [NSURL URLWithString:string];
3、NSURLRequest *request = [NSURLRequest requestWithURL:url];
4、[self.webView loadRequest:request];
然而有时候页面却没有任何内容,何解?通过段点才发现url为nil,为毛?!
这个时候可以试下将第一步的string进行encoding一下,即:
string = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
或许就可以了哦,试试吧!
最好是写一个NSString的分类,提供一个转换方法,方便使用
– (NSString *)encodingString
{
return [self stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
这样一来,第二步可以直接改为
2、NSURL *url = [NSURL URLWithString:[string encodingString]];
有时候重复encoding也会造成url为空哦,所以还有一个方法,即在第二步进行判断,如果url==nil再encoding
if (nil == url) url = [NSURL URLWithString:[string encodingString]];