Je suis un débutant en Objective C et je cherche à faire deux HTTP GET consécutifs (l'un après l'autre). Ce que j'ai jusqu'ici est que j'ai un NSURLSessionDataTask à l'intérieur du bloc d'achèvement de la première NSURLSessionDataTask. Cela rend mon code un peu illisible, alors je me demandais quelle est la meilleure façon de le faire? Voici quelques exemples de code:NSURLSessionDataTask imbriqué pour deux GET HTTP consécutifs
{
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
NSMutableURLRequest *url_request_1 = [NSMutableURLRequest requestWithURL:@"some_url_1"];
[url_request_1 setHTTPMethod:@"GET"];
NSURLSessionDataTask *url_task_1 = [session
dataTaskWithRequest:url_request_1
completionHandler:^(NSData *data1,
NSURLResponse *response1,
NSError *error1) {
if(data1 !=nil){
// Evaluate some_url_2 from the response of url_task_1
NSMutableURLRequest *url_request_2 = [NSMutableURLRequest requestWithURL:@"some_url_2"];
[url_request_2 setHTTPMethod:@"GET"];
NSURLSessionDataTask *url_task_2 = [session
dataTaskWithRequest:url_request_2
completionHandler:^(NSData *data2,
NSURLResponse *response2,
NSError *error2) {
if(data2 !=nil){
// Process data here
} else {
// Handle error here.
return;
}
}];
[urlRequest2 resume];
}
else{
// Handle error here
return;
}
}];
[url_task_1 resume];
}
@Velox - Modifier manuellement l'indentation de la question peut l'avoir rendu plus lisible, mais vous êtes en train d'obscurcir l'un des problèmes sous-jacents de la façon dont Tywin a écrit son code. – Rob