NSCache的简单使用介绍

来源:互联网 发布:守望先锋左上角数据vrm 编辑:程序博客网 时间:2024/05/18 00:19

NSCache的简单使用介绍

#import "ViewController.h"@interface ViewController ()<NSCacheDelegate>// 缓存的容器@property(nonatomic,strong)NSCache *myCache;@end@implementation ViewController- (NSCache *)myCache{    if (_myCache == nil) {        _myCache = [[NSCache alloc] init];//        NSUInteger totalCostLimit;  "成本" 限制, 默认是 0 (没有限制)//        图片 像素 == 总的像素点//        NSUInteger countLimit;  数量的限制  默认是 0        // 设置缓存的对象,同时指定成本//        - (void)setObject:(id)obj forKey:(id)key cost:(NSUInteger)g;        // 设置数量的限制。 一旦超出限额,会自动删除之前添加的内容        _myCache.countLimit = 1444;        // 代理        _myCache.delegate = self;    }    return _myCache;}// MARK: delegate方法// 缓存中的对象将要被删除,调用这个方法// 一般开发测试使用- (void)cache:(NSCache *)cache willEvictObject:(id)obj{    NSLog(@"要删除的对象obj---%@", obj);}- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{    for (int i = 0; i < 100; i++) {        // 向缓存中添加对象        NSString *str = [NSString stringWithFormat:@"hello - %d", i];        [self.myCache setObject:str forKey:@(i)];    }    for (int i = 0; i < 100; i++) {        NSLog(@"%@", [self.myCache objectForKey:@(i)]);    }}@end
0 0
原创粉丝点击