Я пытаюсь URL кодировать строку, чтобы сформировать запрос GET из objective-c.
NSString *params = @"'Decoded data!'/foo.bar:baz";
NSRunAlertPanel( @"Error", [params urlEncoded], @"OK", nil, nil );
Это категория, расширяющая NSString
-(NSString *) urlEncoded
{
NSString *encoded = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
kCFStringEncodingUTF8 );
return encoded;
}
Итак, в первый раз, когда я запускаю его, я возвращаюсь
1606410046ecoded 1606410784ata2270.000000foo.bar0X1.001716P-1042baz
в диалоговом окне.
Сразу после того, как я запустил его снова, я получаю это
1606410046ecoded 1606410944ata227369374562920703448982951250259562309742470533728899744288431318481119278377104028261651081181287077973859930826299575521579020410425419424562236383226511593137467590082636817579938932512039895040.000000foo.bar0X1.66E6156303225P+771baz
Тогда, если я запустил его с AGAIN, он вернется к первому. Это действительно странно.
Если параметрам присвоено значение @ "&" или @ "Я просто верну" 2" (без кавычек) в диалоговом окне.
Также есть способ, которым я могу показать знаки% в диалоговом окне оповещений?
Спасибо