相关疑难解决方法(0)

用于存储UIImage ios的NSCache初始化

我正在使用NSCache来存储图像.但问题是,一旦我在控制器之间切换,NSCache会清空.我希望项目至少存在,直到应用程序关闭或用户注销.假设我有一个标签视图,我在第一个标签中存储数据中的图像.当我转到第二个选项卡并切换回第一个选项卡时,NSCache会再次初始化.

这是我的代码: -

- (void)viewDidLoad {
[super viewDidLoad];
if(imageCache==nil)
{
    imageCache=[[NSCache alloc]init];
    NSLog(@"initialising");
}
[imageCache setEvictsObjectsWithDiscardedContent:NO];
}


(void) reloadMessages {

[Data getClassMessagesWithClassCode:_classObject.code successBlock:^(id object) {
    NSMutableArray *messagesArr = [[NSMutableArray alloc] init];
    for (PFObject *groupObject in object) {

        PFFile *file=[groupObject objectForKey:@"attachment"];
        NSString *url1=file.url;
        NSLog(@"%@ is url to the image",url1);
        UIImage *image = [imageCache objectForKey:url1];
        if(image)
        {
            NSLog(@"This is cached");

        }
        else{

            NSURL *imageURL = [NSURL URLWithString:url1];
            UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:imageURL]];

            if(image)
            {
                NSLog(@"Caching ....");
                [imageCache setObject:image forKey:url1];
            } …
Run Code Online (Sandbox Code Playgroud)

objective-c uiimage ios nscache

2
推荐指数
1
解决办法
5034
查看次数

标签 统计

ios ×1

nscache ×1

objective-c ×1

uiimage ×1