如何更改默认请求完成队列?

时间:2016-06-21 07:38:44

标签: ios swift macos afnetworking alamofire

我正在做一个有很多API的应用程序,每个API的响应都必须导入到核心数据中。我知道 Alamofire 完成处理程序默认位于主线程中。我想将此更改为后台线程,因为我将在请求完成时执行核心数据导入操作。您能否指导我如何在请求完成时将后台线程设置为默认线程?

我讨厌在每个API请求中设置它,相反,我想在AFNetworking中将其设置为单一位置,AFNetworking在 AFHTTPSessionManager completionQueue 的属性>所以我为AFHTTPSessionManager创建了子类,然后我轻松地更改了默认线程。我在 Alamofire 中找不到类似的东西。请指导我提供更好的解决方案

1 个答案:

答案 0 :(得分:3)

Almofire不提供更改完成队列的方法。但您可以扩展for(NSMutableDictionary *device in dictionary[@"protectedDevices"]){ NSMutableArray *endpoints=[[NSMutableArray alloc] init]; [device setObject:endpoints forKey:@"endpointsConnected"]; } 类并添加自定义响应方法:

Request

这样您就不必每次都指定自定义队列。