plusieurs paramètres dans l'objet NSURL
Question
Je souhaite passer plusieurs paramètres à partir du SDK iPhone à un côté serveur php qui assure l'interface avec une base de données mySQL.
J'ai trouvé quelques réponses sur la façon de faire, mais je vais avoir du mal à comprendre comment inclure plusieurs paramètres.
ce que j'ai droit est maintenant
- (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];
}
qui fonctionne pour 1 paramètre, mais ce que je suis à la recherche serait quelque chose comme
http://server.com/file.php?date=value&time=value&category=value&tags=value&entry=value
comment je vais prendre?
La solution
La méthode - initWithFormat
prend plusieurs arguments pour la chaîne de format.
Vous pouvez faire des choses comme ceci:
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];
- initWithFormat
fonctionne presque identique à printf()
et variantes.
Voici quelques exemples de printf()
http://stahlforce.com/dev/index. php? outil = csc02
Edit: Où sont les variables nameField, tagsField, dreamEntry
définies et
À moins qu'ils ne sont NSString
s et définis dans le @interface
vous ne pouvez pas les utilise de cette façon.
Je suggère coder en dur des valeurs pour le test:
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];
Autres conseils
Création d'un NSURL ne pas les communications ouvertes avec un serveur. Il est juste une structure de données contenant une URL. Vous voulez lire sur NSURLConnection .
sont toutes les variables que vous êtes de passage dans votre format vraiment les chiffres? %d
est l'espace réservé pour un certain nombre; %@
est un objet. Il est très surprenant de se passer nulle si vous vous attendez à un certain nombre, même à des fins de test. Ça va « travailler », car nul est 0, mais il suggère que ceux-ci ne sont pas vraiment des chiffres.