void(^uploadBlock)(NSProgress * _Nonnull uploadProgress) = ^void(NSProgress * _Nonnull uploadProgress) {
};
void(^successBlock)(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) = ^void(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
@strongify(self);
};
void(^failureBlcok)(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) = ^void(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
@strongify(self);
};
SEL afn_postMethodSelector = NSSelectorFromString(@"POST:parameters:headers:progress:success:failure:");
if ([manager respondsToSelector:afn_postMethodSelector]) {
// 4.x
((void (*)(id, SEL, NSString *, id, NSDictionary <NSString *, NSString *> *, void(^)(NSProgress *uploadProgress), void(^)(NSURLSessionDataTask *task, id _Nullable responseObject), void(^)(NSURLSessionDataTask * _Nullable task, NSError *error)))objc_msgSend)(manager, afn_postMethodSelector, turnoverUrl, parameters, nil, uploadBlock, successBlock, failureBlcok);
} else {
// 3.x
afn_postMethodSelector = NSSelectorFromString(@"POST:parameters:progress:success:failure:");
((void (*)(id, SEL, NSString *, id, void(^)(NSProgress *uploadProgress), void(^)(NSURLSessionDataTask *task, id _Nullable responseObject), void(^)(NSURLSessionDataTask * _Nullable task, NSError *error)))objc_msgSend)(manager, afn_postMethodSelector, turnoverUrl, parameters, uploadBlock, successBlock, failureBlcok);
}
AFNetworking 版本兼容方式处理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。