2

以前のバージョンの AFNetworking ではAFHTTPRequestOperation、複数のリクエストを作成し、それらの間に依存関係を作成し、それらを非常に簡単にキューに入れることができました。例 (AFHTTPClientサブクラス内):

NSURLRequest *categoriesRequest = [self requestWithMethod:@"GET" path:@"categories" parameters:nil];
AFHTTPRequestOperation *categoriesOperation = [self HTTPRequestOperationWithRequest:categoriesRequest success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSArray *jsonCategories = responseObject;
    for (NSDictionary *jsonCategory in jsonCategories) {
        SPOCategory *category = [[SPOCategory alloc] initWithDictionary:jsonCategory];
        [self.categories addObject:category];
    }
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    // …
}];

NSURLRequest *incidencesRequest = [self requestWithMethod:@"GET" path:@"incidences" parameters:nil];
AFHTTPRequestOperation *incidencesOperation = [self HTTPRequestOperationWithRequest:incidencesRequest success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSArray *jsonIncidences = responseObject;
    for (NSDictionary *jsonIncidence in jsonIncidences) {
        SPOIncidence *incidence = [[SPOIncidence alloc] initWithDictionary:jsonIncidence];
        [self.incidences addObject:incidence];
    }

    completionBlock(self.incidences, self.categories, nil);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    // …
}];

[incidencesOperation addDependency:categoriesOperation];

[self enqueueBatchOfHTTPRequestOperations:@[categoriesOperation, incidencesOperation] progressBlock:^(NSUInteger numberOfFinishedOperations, NSUInteger totalNumberOfOperations) {
    // Processing…
} completionBlock:^(NSArray *operations) {
    // Completed
}];

を引き続き使用できることはわかっていますが、AFHTTPRequestOperationのサブクラス内で同じことを実現する同様の方法があるかどうかを知りたいです。AFHTTPSessionManagerNSURLSessionNSURLConnection

ありがとうございました!

4

1 に答える 1