我正在做一个有很多API的应用程序,每个API的响应都必须导入到核心数据中。我知道 Alamofire 完成处理程序默认位于主线程中。我想将此更改为后台线程,因为我将在请求完成时执行核心数据导入操作。您能否指导我如何在请求完成时将后台线程设置为默认线程?
我讨厌在每个API请求中设置它,相反,我想在AFNetworking中将其设置为单一位置,AFNetworking在 AFHTTPSessionManager completionQueue 的属性>所以我为AFHTTPSessionManager创建了子类,然后我轻松地更改了默认线程。我在 Alamofire 中找不到类似的东西。请指导我提供更好的解决方案
答案 0 :(得分:3)
Almofire不提供更改完成队列的方法。但您可以扩展for(NSMutableDictionary *device in dictionary[@"protectedDevices"]){
NSMutableArray *endpoints=[[NSMutableArray alloc] init];
[device setObject:endpoints forKey:@"endpointsConnected"];
}
类并添加自定义响应方法:
Request
这样您就不必每次都指定自定义队列。