10

こんにちは、AFNetworking でキャッシュをクリアする方法を教えてください。

以前は古いバージョンの AFNetworking を使用していましたが、更新されていることがわかりました。AFnetworking のキャッシュを消去する方法を教えてください。

以前はこんな感じでした

SDImageCache *imageCache = [SDImageCache sharedImageCache];
[imageCache clearMemory];
[imageCache clearDisk];
[imageCache cleanDisk];
4

5 に答える 5

4

cocoaPods を使用して AFNetworking を使用している場合は、UIImageView (clearCache) のカテゴリを作成することでこれを行うことができます。

        - (void)clearImageCacheForURL:(NSURL *)url {
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request addValue:@"image/*" forHTTPHeaderField:@"Accept"];

UIImage *cachedImage = [[[self class] sharedImageCache] cachedImageForRequest:request];
if (cachedImage) {
    [self clearCached:[[self class] sharedImageCache] Request:request];
}
}

- (void)clearCached:(NSCache *)imageCache Request:(NSURLRequest *)request {
if (request) {
    [imageCache removeObjectForKey:[[request URL] absoluteString]];
}
}
于 2014-11-18T11:57:30.903 に答える