当url字符串参数有空格时,NSURL值为null。

时间:2011-07-26 10:48:10

标签: iphone objective-c iphone-sdk-3.0 nsurl

我正在通过我的aspx页面解析xml到我的iphone应用程序。我这样做是为了从url获取XML数据并将其附加到NSData中,如下所示。

NSString *urlString =
 [NSString stringWithFormat:@"http://www.abc.com/parsexml.aspx?query=%@",
                            searchBar.text];
NSURL *url = [NSURL URLWithString:urlString];
当我的urlString在字符之间有空格时出现

错误,例如(http://www.abc.com/parsexml.aspx?query=iphone 32gb 3gs)

请帮帮我。我该怎么做才能解决这个问题。

2 个答案:

答案 0 :(得分:18)

使用NSString的{​​{1}}对网址请求数据进行编码。

检查文档here

-(NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding;

答案 1 :(得分:2)

您可以使用%20而不是空格删除URL字符串中的%20

希望它会帮助你..