NSURL с кодировкой

У меня есть этот URL-адрес, и я не могу заставить код ниже работать

В этом коде urlToGrab = http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22

NSURL *url = [NSURL URLWithString:urlToGrab];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

Этот код не работает. При установке точек останова URL-адрес равен нулю. Если я использую «http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search», это сработает.


person jdog    schedule 15.11.2011    source источник
comment
Привет, игервин... я написал код, как показано ниже.... но я не получаю null   -  person Nag_iphone    schedule 15.11.2011


Ответы (3)


Сначала вы должны декодировать URL-адрес строки. Пример:

NSString * urlToGrab = [[@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"
    stringByReplacingOccurrencesOfString:@"+" withString:@" "]
    stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:urlToGrab];
[webView loadRequest:[NSURLRequest requestWithURL:url]];

Замена «+» на «» на тот случай, если у вас есть другой закодированный URL-адрес, содержащий «+».

person Dimme    schedule 15.11.2011

я написал, как показано ниже кода.... но я не получил нуль

NSString *str=[[NSString alloc] initWithString:@"http://192.1.1.233:8000/en-US/app/search/flashtimeline?auto_pause=true&q=search%20host%3D%22JRVIN-LT%22"];
NSURL *url = [NSURL URLWithString:str];
person Nag_iphone    schedule 15.11.2011
comment
Вопрос не в том, становится ли OP нулевым или нет. Кстати, в Objective-C нет ничего, что называется null, это ноль. Вопрос в том, почему webView неправильно загружает URL. - person Dimme; 15.11.2011

должно быть:

NSString * urlToGrab = [[@"yourURL"
stringByReplacingOccurrencesOfString:@"+" withString:@" "]
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

не "stringByReplacingPercentEscapesUsingEncoding"

person schumyxp    schedule 26.03.2013