Je suis novice en ce qui concerne l'objectif-c et je commence à mettre beaucoup d'efforts dans la demande/réponse depuis peu. J'ai un exemple de travail qui peut appeler une url (via http GET) et analyser le json retourné.Comment envoyer des données json dans la requête Http en utilisant NSURLRequest
L'exemple de travail de ce qui est inférieur
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[responseData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
NSLog([NSString stringWithFormat:@"Connection failed: %@", [error description]]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
//do something with the json that comes back ... (the fun part)
}
- (void)viewDidLoad
{
[self searchForStuff:@"iPhone"];
}
-(void)searchForStuff:(NSString *)text
{
responseData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.whatever.com/json"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
Ma première question est - cette approche va évoluer jusqu'à? Ou est-ce pas async (ce qui signifie que je bloque le thread UI pendant que l'application attend la réponse)
Ma deuxième question est - comment puis-je modifier la partie de la demande pour faire un POST au lieu de GET? Est-ce simplement pour modifier le HttpMethod comme ça?
[request setHTTPMethod:@"POST"];
Et enfin - comment puis-je ajouter un ensemble de données JSON à ce poste comme une simple chaîne (par exemple)
{
"magic":{
"real":true
},
"options":{
"happy":true,
"joy":true,
"joy2":true
},
"key":"123"
}
Nous vous remercions à l'avance
Voici un tutoriel: http: // mobileorchard .com/tutorial-json-sur-http-sur-le-iphone/ – Josh