Có thể trong AFNetworking để lưu hình ảnh trên đĩa nhiều hơn phiên không? Ví dụ: một tuần hoặc một tháng. Trong dự án của tôi sử dụng SDWebImage và AFNetworking, nhưng cách đây vài ngày tôi phát hiện ra rằng AFNetworking có cùng chức năng như SDWebImage, do đó, một loại bỏ SDWebImage và viết mã như vậy để lưu trữ hình ảnh trên đĩa:AFNetworking 3.0 trên bộ nhớ đệm hình ảnh đĩa
cho ImageView
NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReturnCacheDataElseLoad
timeoutInterval:60];
[imageView setImageWithURLRequest:imageRequest placeholderImage:placeholderImage success:nil failure:nil];
Tải ảnh để sử dụng trong tương lai
NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReturnCacheDataElseLoad
timeoutInterval:60];
[[AFImageDownloader defaultInstance] downloadImageForURLRequest:imageRequest success:nil failure:nil];
Get tải hình ảnh
NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReturnCacheDataElseLoad
timeoutInterval:60];
UIImage *image = [[AFImageDownloader defaultInstance].imageCache imageforRequest:imageRequest withAdditionalIdentifier:nil];
Nhưng tất cả điều này làm việc chỉ mỗi phiên, sau khi tôi nạp tất cả hình ảnh tôi tắt internet và khởi động lại ứng dụng của tôi, kết quả - không có hình ảnh trong bộ nhớ cache.
Ngoài ra tôi cố gắng thêm mã như vậy trong AppDelegate
:
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:2 * 1024 * 1024
diskCapacity:100 * 1024 * 1024
diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
Nhưng tôi vẫn có thể hình ảnh không nhớ cache lâu hơn phiên. (Xin lỗi cho tiếng Anh của tôi)