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

Waq*_*rim 6 iphone objective-c nsurl iphone-sdk-3.0

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

NSString *urlString =
 [NSString stringWithFormat:@"http://www.abc.com/parsexml.aspx?query=%@",
                            searchBar.text];
NSURL *url = [NSURL URLWithString:urlString];
Run Code Online (Sandbox Code Playgroud)

当我的urlString在字符之间有空格时出现错误,例如(http://www.abc.com/parsexml.aspx?query=iphone 32gb 3gs)

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

小智 18

使用NSString's -(NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding;来编码url请求数据.

这里查看文档.

NSString *urlString =
[NSString stringWithFormat:@"http://www.abc.com/parsexml.aspx?query=%@",
[searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)