Sto provando a codificare URL una stringa per formare una richiesta GET dall'obiettivo-c.URLEncoding di una stringa con Objective-C
NSString *params = @"'Decoded data!'/foo.bar:baz";
NSRunAlertPanel(@"Error", [params urlEncoded], @"OK", nil, nil);
Questa è la categoria che si estende NSString
-(NSString *) urlEncoded
{
NSString *encoded = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
kCFStringEncodingUTF8);
return encoded;
}
Così la prima volta l'eseguo mi tornare
1606410046ecoded 1606410784ata2270.000000foo.bar0X1.001716P-1042baz
dalla finestra di dialogo.
Subito dopo corro di nuovo ho questa
1606410046ecoded 1606410944ata227369374562920703448982951250259562309742470533728899744288431318481119278377104028261651081181287077973859930826299575521579020410425419424562236383226511593137467590082636817579938932512039895040.000000foo.bar0X1.66E6156303225P+771baz
Poi se l'eseguo di nuovo risale al primo. È davvero strano
Se params è impostato su @ "&" o @ "" Ho appena ottenuto un "2" (senza le virgolette) nella finestra di dialogo.
C'è anche un modo per visualizzare i segni% nella finestra di avviso?
Grazie
Perché stai chiamando due volte e perché non stai registrando il tuo output invece di inserirlo in un avviso? –