Più parametri in oggetto NSURL
Domanda
Vorrei passare più parametri dal iPhone SDK a un php sul lato server che si interfaccia con un database MySQL.
ho trovato alcune risposte su come fare questo, ma sto attraversando un periodo difficile capire come includere diversi parametri.
quello che ho in questo momento è
- (IBAction)sendButtonPressed:(id)sender
{
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d", theDate];
NSURL *url = [[NSURL alloc] initWithString:urlstr];
[urlstr release];
[url release];
}
, che avrebbe funzionato per 1 parametro, ma quello che sto cercando sarebbe qualcosa di simile
http://server.com/file.php?date=value&time=value&category=value&tags=value&entry=value
come potrei andare a fare questo?
Soluzione
Il metodo - initWithFormat
richiederà più argomenti per la stringa di formato.
Quindi, si possono fare cose come questa:
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];
- initWithFormat
funziona quasi identico a printf()
e varianti.
Ecco alcuni esempi printf()
http://stahlforce.com/dev/index. php? strumento = csc02
Modifica:? Dove sono le variabili nameField, tagsField, dreamEntry
definite e impostare
A meno che non sono NSString
s e definiti nel @interface
non è possibile utilizza in questo modo.
Suggerisco difficile codifica alcuni valori per il test:
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];
Altri suggerimenti
La creazione di un NSURL non comunicazione aperta con un server. E 'solo una struttura di dati per lo svolgimento di un URL. Si vuole leggere su NSURLConnection .
Sono tutte le variabili che stai passando nel formato davvero numeri? %d
è il segnaposto per un numero; %@
è un oggetto. E 'molto sorprendente a passare a zero se vi aspettate un numero, anche a scopo di test. Sarà "lavoro", perché nulla è 0, ma suggerisce che queste non sono realmente i numeri.