AFNetworking 3.0 AFURLResponseSerialization 缺失
AFNetworking 3.0 AFURLResponseSerialization missing
我被指派从事一个使用手动添加的 afnetworking 的项目。我删除了它并通过 cocoaPods 安装了 AFNetworking 3.0。
很多东西都坏了。我正在手动分配可接受的内容类型,如下所示:
AFImageResponseSerializer *serializer = [[AFImageResponseSerializer alloc] init];
serializer.acceptableContentTypes = [serializer.acceptableContentTypes setByAddingObject:@"application/x-www-form-urlencoded"];
self.MyCollectionViewCell.uiButton.imageView.imageResponseSerializer = serializer;
[self.MyCollectionViewCell.uibutton.imageView setImageWithURLRequest:request placeholderImage:nil
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
NSLog(@"Loaded successfully: %ld", (long)[response statusCode]);
[self.MyCollectionViewCell.uibutton setImage:image forState:UIControlStateNormal];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
NSLog(@"failed loading: %@", error);
}];
在 AfNetworking 版本 3 中没有这样的 属性
@property (nonatomic, strong) id <AFURLResponseSerialization> imageResponseSerializer;
我一直在寻找 3.0 版中的等效项。或者有没有其他方法可以解决手动设置可接受的内容类型的问题。如果有人能帮助我,我将不胜感激。
API 已在 AFNetworking
的 3.x 版本中更改。
现在UIImageView+AFNetworking
使用AFImageDownloader
实例来管理图片下载任务,AFImageDownloader
使用AFHTTPSessionManager
实例来管理http请求,所以你可以通过 AFImageDownloader
分配您的自定义 AFImageResponseSerializer
,如下所示:
AFImageResponseSerializer *serializer = [[AFImageResponseSerializer alloc] init];
serializer.acceptableContentTypes = [serializer.acceptableContentTypes setByAddingObject:@"application/x-www-form-urlencoded"];
AFHTTPSessionManager *sessionManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:defaultConfiguration];
sessionManager.responseSerializer = serializer;
AFImageDownloader *imageDownloader = [[AFImageDownloader alloc]
initWithSessionManager:sessionManager
downloadPrioritization:AFImageDownloadPrioritizationFIFO
maximumActiveDownloads:4
imageCache:[[AFAutoPurgingImageCache alloc] init]];
[UIImageView setSharedImageDownloader:imageDownloader];
我被指派从事一个使用手动添加的 afnetworking 的项目。我删除了它并通过 cocoaPods 安装了 AFNetworking 3.0。
很多东西都坏了。我正在手动分配可接受的内容类型,如下所示:
AFImageResponseSerializer *serializer = [[AFImageResponseSerializer alloc] init];
serializer.acceptableContentTypes = [serializer.acceptableContentTypes setByAddingObject:@"application/x-www-form-urlencoded"];
self.MyCollectionViewCell.uiButton.imageView.imageResponseSerializer = serializer;
[self.MyCollectionViewCell.uibutton.imageView setImageWithURLRequest:request placeholderImage:nil
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
NSLog(@"Loaded successfully: %ld", (long)[response statusCode]);
[self.MyCollectionViewCell.uibutton setImage:image forState:UIControlStateNormal];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
NSLog(@"failed loading: %@", error);
}];
在 AfNetworking 版本 3 中没有这样的 属性
@property (nonatomic, strong) id <AFURLResponseSerialization> imageResponseSerializer;
我一直在寻找 3.0 版中的等效项。或者有没有其他方法可以解决手动设置可接受的内容类型的问题。如果有人能帮助我,我将不胜感激。
API 已在 AFNetworking
的 3.x 版本中更改。
现在UIImageView+AFNetworking
使用AFImageDownloader
实例来管理图片下载任务,AFImageDownloader
使用AFHTTPSessionManager
实例来管理http请求,所以你可以通过 AFImageDownloader
分配您的自定义 AFImageResponseSerializer
,如下所示:
AFImageResponseSerializer *serializer = [[AFImageResponseSerializer alloc] init];
serializer.acceptableContentTypes = [serializer.acceptableContentTypes setByAddingObject:@"application/x-www-form-urlencoded"];
AFHTTPSessionManager *sessionManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:defaultConfiguration];
sessionManager.responseSerializer = serializer;
AFImageDownloader *imageDownloader = [[AFImageDownloader alloc]
initWithSessionManager:sessionManager
downloadPrioritization:AFImageDownloadPrioritizationFIFO
maximumActiveDownloads:4
imageCache:[[AFAutoPurgingImageCache alloc] init]];
[UIImageView setSharedImageDownloader:imageDownloader];