2013-02-26 9 views
6

Sto sviluppando un app in quel app ho bisogno di passare più di un parametri alla volta in NSURL mio codice èIn che modo è possibile passare più parametri nella stringa NSURL in iOS?

responseData = [[NSMutableData data] retain]; 
ArrData = [NSMutableArray array]; 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@",strfrom,strto,strgo]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; 
//NSURLRequest *request1 = [NSURLRequest requestWithURL: 
//[NSURL URLWithString:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=1",strfrom,strto]]; 

il codice di cui sopra ho bisogno di passare più di un parametro dinamico. È possibile ? se lo è, allora come? grazie & riguarda

+1

provare a creare una stringa separata prima di aggiungere al qualcosa di URL tipo 'NSSString * str = [NSString stringWithFormat: @ "http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@", strfrom, strto, strgo] 'e quindi aggiungi questo str all'URL – nsgulliver

+0

Prima passare tutti i parametri a NSString e quindi assegnare la stringa finale a NSURL. – jamil

+0

Non riesco a comprendere completamente la tua domanda. Stai ancora passando più di un parametro nella tua domanda – Warewolf

risposta

5

provare a creare una stringa separata prima di aggiungere all'URL qualcosa come

NSSString *strURL=[NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@"‌​,strfrom,strto,strgo]; 

e quindi aggiungere questo strURL a URL

NSURL *url = [NSURL URLWithString:strURL]; 

finalmente aggiungerlo alla richiesta, il codice è sbagliato dove si aggiunge l'url alla richiesta, l'URL non è una stringa è un URL quindi dovrebbe essere requestWithURL non URLWithString, dovrebbe essere così

NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+1

soluzione perfetta ..... grazie nsgulliver – areddy

+0

siete i benvenuti areddy! – nsgulliver

1

Una cosa molte di queste risposte manca è l'uso di [NSString stringByAddingPercentEscapesUsingEncoding:] di evitare di utilizzare caratteri non validi nell'URL:

NSString *baseURL = [NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@",strfrom,strto,strgo]; 
NSURL *url = [NSURL URLWithString:[baseURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+0

Questo è un buon punto, ma nota che stringByAddingPercentEscapesUsingEncoding non codifica completamente la stringa. mancano cose come/e &. StackOverflow ha un sacco di esempi su come crearne uno tuo. –

+0

Ma la risposta di trojanfoe è stata, per me, parte integrante dell'invio di una parola unicode come parte di un URL. Quindi +1 a lui. –

Problemi correlati