gpt4 book ai didi

ios - 使用 AFNetworking 2.0 管理缓存图像

转载 作者:行者123 更新时间:2023-11-29 03:13:28 24 4
gpt4 key购买 nike

我使用 AFNetworking 2.0 将一些图像加载到我的应用程序中。默认情况下它缓存它。我不想总是从缓存中加载图像。仅当网络图像和缓存图像不相同时,我才想从缓存中加载图像。那我该怎么做呢?

我的代码:

  AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest];
requestOperation.responseSerializer = [AFImageResponseSerializer serializer];
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response: %@", responseObject);
_imageView.image = responseObject;

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Image error: %@", error);
}];
[requestOperation start];

最佳答案

处理缓存的正确方法是修改服务器的 cache-control header ,以描述客户端应将给定资源缓存多长时间。 URL 基础加载系统将尊重服务器提供的 header 。

除非您有充分的理由禁用客户端的内置缓存机制,否则您不应该这样做 - 在 99% 的情况下这会使您的应用变慢,因为在许多情况下您的应用可能会尝试获取相同的资源。

如果您需要在客户端覆盖它们,请子类化应用中使用的 AFNetworking 请求序列化程序,并在它们返回的 NSMutableURLRequests 上设置 cachePolicy。然后将此请求序列化程序分配给您的请求操作管理器或 session 管理器。

关于ios - 使用 AFNetworking 2.0 管理缓存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com