Значение NSURL обнуляется, когда в строковом параметре URL есть пробел ..? - PullRequest
6 голосов
/ 26 июля 2011

Я анализирую xml через страницу aspx в приложении для iphone. Я делаю так, чтобы получить данные XML из URL и добавить в 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 32 ГБ 3gs)

пожалуйста, помогите мне. Что я должен сделать, чтобы решить эту проблему.

Ответы [ 2 ]

18 голосов
/ 26 июля 2011

Используйте NSString -(NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding; для кодирования данных запроса URL.

Проверьте документ здесь .

NSString *urlString =
[NSString stringWithFormat:@"http://www.abc.com/parsexml.aspx?query=%@",
[searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
2 голосов
/ 26 июля 2011

Вы можете использовать% 20 ​​вместо пробела. Удалить пробел на% 20 в строке URL-адреса.

Надеюсь, это поможет вам.

...