2010-10-20 3 views
2

У меня есть следующий NSString:NSString не отображается правильно

NSString* searchURL = [NSString stringWithFormat:@"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22%@%22)%0A%09%09&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=",symbol]; 
    NSLog(@"URL IS: %@", searchURL); 

Похоже% 22 не включен, когда он печатается:

URL IS: http://query.yahooapis.com/v1/public/yql?q=select220from2ahoo.finance.quotes2here    `º≠ymbol    [email protected]&format=json&env=http0X1.8CFB8P-1023-1.9907460.000000datatables.org-1.990746alltables.env&callback= 

Как я могу сделать конечно% 22 входит в мою строку?

ответ

7

Если вы хотите включить знак «%» в использовании формата строки «%%»

Так же, как и в Printf и др.

Читать полную документацию stringWithFormat, чтобы избежать других неприятных сюрпризов ...

2

% специальный символ в строках формата. Используйте %%, чтобы избежать буквенных знаков процента.

0

% символов используются в кодировании пространства в формировании url.Если вы хотите запросить любой URL-адрес, вам необходимо кодировать его с помощью stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding . Таким образом, знак%, который появляется, представляет собой закодированную форму пространства. Таким образом, реализуя это, очищаем это фундаментальное значение

Смежные вопросы