NSURL и URL Действительность - PullRequest
       7

NSURL и URL Действительность

3 голосов
/ 15 сентября 2011

Я использую URL из API, где поисковый термин заключен в кавычки.Например: http://www.example.com/searchterm="search".

Однако из-за кавычек мой NSURL (генерируемый URLWithString) равен нулю из-за неверного URL.Это можно обойти?Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Вы можете поставить обратную косую черту перед кавычкой или значением в кодировке URL %22:

http://www.example.com/searchterm=\"search\"

http://www.example.com/searchterm=%22search%22

или вы можете удалить цитаты, прежде чем использовать его как NSURL.

NSString * searchUrl = @"http://www.example.com/searchterm=\"search\"";
searchUrl = 
  [searchUrl stringByReplacingOccurrencesOfString:@"\"" withString:@""]; // something to this effect, not tested.

Тогда вы можете продолжить свой обычный вызов NSURL:

[NSURL URLWithString: searchUrl];
0 голосов
/ 28 февраля 2012

Попробуйте следующее:

#define SAFARI_SEARCH_URL_FORMAT @"http://search/search?q=\"%@\""
mySearchBar.text =@"hello";
NSString * tempstr = [NSString stringWithFormat:SAFARI_SEARCH_URL_FORMAT, mySearchBar.text];

    NSURL *an1Url = [[[NSURL alloc] initWithString:[tempstr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
] autorelease];
NSLog(@"--(%@)--",an1Url);

an1Url не будет ноль

...