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];
我想打包 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];