【发布时间】:2017-12-29 05:16:13
【问题描述】:
我想将以下代码转换为 Alamofire 版本,但我对 AFHTTPSessionManager 部分感到困惑。
+(void)requestWithUrlString:(NSString *)URLstring method:(NSString *)method parameters:(NSMutableDictionary *)parameters success:(void (^)(id))success faiure:(void (^)(NSError *))failure{
AFHTTPSessionManager *manager = [AFHTTPSessionManager sharedManager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"text/plain", nil ];
manager.requestSerializer.timeoutInterval = 20;
[manager POST:URLstring parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
感谢您的帮助。
【问题讨论】:
-
Alamofire 没有像
AFHTTPSessionManager这样的东西,它有直接的方法来发送带有所需参数的 post 请求,你可以阅读这个 raywenderlich.com/147086/alamofire-tutorial-getting-started-2 -
是的,我知道。但我不确定在标题中包含整个
acceptableContentTypes(MIME 类型)并用,分隔它们是否正确。 -
你可以使用你需要的内容类型,你不需要整个内容类型数组
-
但是如何设置
timeout?在您发给我的教程中,他们似乎使用的是 Apple 的URLRequest而不是Alamofire。 -
请检查我的回答我已经为同一个创建了帮助类
标签: ios objective-c alamofire afnetworking