iOS 包 AFNetworking 与队列

iOS package AFNetworking With queue

我想打包 AFNetworking 以便 url 可以一个一个地请求,但我不知道如何打包。 比如有3个url请求要发给服务器,我希望AFNetworking先发一个url请求,等第一个发完再发下一个给服务器,如此类推在 。 我认为它可能需要 NSOperationQueue 来完成这项工作,但我不知道如何实现它。 有人写过这样的代码吗?能不能把.h和.m文件发给我,方便我建模写作或者直接使用,非常感谢

如果您要发送图像等数据,您可能需要这样的东西。如果您只是发送简单的请求,那么只需使用事实上的 AFNetworking GET/POST 而不是 multipartFormRequestWithMethod

简而言之,为每个请求创建一个操作并将每个请求添加到一个数组中。然后使用 batchOfRequestOperations 执行每个。 (From the docs).

NSMutableArray *mutableOperations = [NSMutableArray array];
for (NSURL *fileURL in filesToUpload) {
    NSURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://example.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileURL:fileURL name:@"images[]" error:nil];
    }];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

    [mutableOperations addObject:operation];
}

NSArray *operations = [AFURLConnectionOperation batchOfRequestOperations:mutableOperations progressBlock:^(NSUInteger numberOfFinishedOperations, NSUInteger totalNumberOfOperations) {
    NSLog(@"%lu of %lu complete", numberOfFinishedOperations, totalNumberOfOperations);
} completionBlock:^(NSArray *operations) {
    NSLog(@"All operations in batch complete");
}];
[[NSOperationQueue mainQueue] addOperations:operations waitUntilFinished:NO];