iOS图片的缓存

当没有网的时候,项目会显示上次已经下载过的图片,避免界面是空白的情况;

//#import "UIImageView+AFNetworking.h"  这个af的库就不用了,因为不自带缓存


 //    [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:([adImageArr count]-1)]] placeholderImage:nil];      这是设置图片的方法

#import "UIImageView+WebCache.h"    sdwebimage 这里面有缓存的功能

   [imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:i]] placeholderImage:niloptions:SDWebImageRefreshCached];   //




//本地有值的话 就直接取出来 没网的时候   

  NSMutableArray *array = [USER_DEFAULT objectForKey:kLooppicListImageArray];

    if (array.count > 0) {

        if (!adImageArr) {

            adImageArr = [[NSMutableArray alloc] initWithArray:[USER_DEFAULT objectForKey:kLooppicListImageArray]];

        }else{

            [adImageArr removeAllObjects];

            adImageArr = [USER_DEFAULT objectForKey:kLooppicListImageArray];

        }

        

        [self addSubviewFormData];

    }


    

    [self getImages];







-(void)getImages

{


    //开始请求   4.3.7 不记名卡赠与接口

    NSDictionary *para = @{@"application":@"looppicList.Req",

                           @"type":@"1"

                           };

    

    [[YFRequest sharedInstance] requestWithDictionary:para completion:^(BOOL success, id responseData) {

        if (success) {

            if (responseData) {

                NSArray *arr=nil;

                arr=responseData[@"looppicItems"];

                if (!adImageArr) {

                    adImageArr = [[NSMutableArray alloc] initWithCapacity:0];

                }

                else{

                    [adImageArr removeAllObjects];

                }

                for (int i=0;i<arr.count;i++) {

                    [adImageArr addObject: [NSString stringWithFormat:@"%@%@",responseData[@"serverAddress"], arr[i][@"url"]]];

                }

                

//图片的地址存在本地

                [USER_DEFAULT setObject:adImageArr forKey:kLooppicListImageArray];

                


               //清理缓存

                [[[SDWebImageManager sharedManager] imageCache] clearDisk];

                [[[SDWebImageManager sharedManager] imageCache] clearMemory];

                [[NSURLCache sharedURLCache] removeAllCachedResponses];


                [self addSubviewFormData];

            }

        }

    }];

    


 

    


    

}




- (void)addSubviewFormData{

    //添加广告begin

    for (UIView* vi in _adScrollView.subviews) {

        [vi removeFromSuperview];

    }

    

    

    UIImageView *imageViewBtn = [[UIImageView alloc] init];

    

    //    [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:([adImageArr count]-1)]] placeholderImage:nil];

    [imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:([adImageArr count]-1)]] placeholderImage:nil options:SDWebImageRefreshCached];

    

    

    

    imageViewBtn.frame = CGRectMake(0, 0.5, kScreenWidth, self.mTableView.tableFooterView.frame.size.height - 1);

    [_adScrollView addSubview:imageViewBtn];

    for (int i = 0;i<[adImageArr count];i++) {

        

        UIImageView *imageViewBtn = [[UIImageView alloc] init];

        

        //        [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:i]] placeholderImage:nil];

        [imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:i]] placeholderImage:nil options:SDWebImageRefreshCached];

        

        

        imageViewBtn.frame = CGRectMake((kScreenWidth * i) + kScreenWidth, 0.5, kScreenWidth, self.mTableView.tableFooterView.frame.size.height - 1);

        [_adScrollView addSubview:imageViewBtn];

    }

    

    imageViewBtn =  [[UIImageView alloc] init];

    

    //    [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:0]] placeholderImage:nil];

    [imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:0]] placeholderImage:nil options:SDWebImageRefreshCached];

    

    imageViewBtn.frame = CGRectMake((kScreenWidth * ([adImageArr count] + 1)) , 0.5, kScreenWidth, self.mTableView.tableFooterView.frame.size.height - 1);

    [_adScrollView addSubview:imageViewBtn];

    

    [_adScrollView setContentSize:CGSizeMake(kScreenWidth * ([adImageArr count] + 2), self.mTableView.tableFooterView.frame.size.height - 1)];

    [_adScrollView setContentOffset:CGPointMake(0, 0)];

    [_adScrollView scrollRectToVisible:CGRectMake(kScreenWidth,0.5,kScreenWidth,self.mTableView.tableFooterView.frame.size.height - 1) animated:NO];

    

    _pageControl.numberOfPages = [adImageArr count];

    _pageControl.frame = CGRectMake((kScreenWidth - 20*adImageArr.count)/2, self.mTableView.tableFooterView.frame.size.height-23, 20*adImageArr.count, kPageControlHeight);

    _pageControl.currentPage = 0;

    

    [NSTimer scheduledTimerWithTimeInterval:kChangeTimeInterval

                                     target:self

                                   selector:@selector(handleTimer:)

                                   userInfo:nil

                                    repeats:YES];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值