LRUCache 1.0.2

LRUCache 1.0.2

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布上次发布2021年8月

Nick Lockwood维护。



LRUCache 1.0.2

  • Nick Lockwood

Least RecentlyUsed(LRU)缓存的 Objective-C 实现。

使用

创建 LruCache 的子类。例如:一个用于缓存 UIImage 对象的 ImageCache 类。

#import "LruCache.h"

@interface ImageCache : LruCache

@end

重写 sizeOf: 方法以提供存储对象的定制度量。

@implementation ImageCache

- (NSInteger)sizeOf:(NSString *)key value:(id)value
{
    UIImage *img = (UIImage *)value;
    CGSize size = img.size;
    return (NSInteger)ceil(size.height * size.width * img.scale * 4);
}

@end

实例化 ImageCache 并使用 put:get: 方法来存储和检索对象。

ImageCache *imageCache = [[ImageCache alloc] initWithMaxSize:1024 * 1024 * 30]; // 30MB image cache.

NSString *key = @"img.png";
UIImage *img = [UIImage imageNamed:@"img.png"];
[imageCache put:key value:img];
UIImage *img = [imageCache get:key];

安装

使用 CocoaPods 安装

pod 'LruCache'

许可协议

LruCache 在 MIT 许可协议下可用。有关更多信息,请参阅 LICENSE 文件。