iOS解耦广告轮播图

想要学习一下组件化开发,首先要把一些模块进行解耦,因此就先拿广告轮播图练手一下,主要技术点:使用Block进行解耦,使图片展示的SDWebImage库和轮播图控件解耦。
轮播图封装这里就不在一一讲解了,大家都会。
刚开始的时候,也在想,怎么解耦,不在控件中引用SDWebImage怎么展示图片啊,后来了解了一下看到,可以使用Block讲控件内部需要展示的图片和图片URL作为参数抛出,然后在block中执行图片加载的过程;

 ZRSAdPicView *adView = [ZRSAdPicView picViewWithLoadImageBlock:^(UIImageView *imageView, NSURL *url) {
       
        [imageView sd_setImageWithURL:url];
//        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//
//            NSData *data = [NSData dataWithContentsOfURL:url];
//            if(data){
//                UIImage *image = [UIImage imageWithData:data];
//                dispatch_async(dispatch_get_main_queue(), ^{
//                    imageView.image = image;
//                });
//            }
//
//        });
    }];

demo地址:https://github.com/ZhaoRS/ZRSAdPicView

你可能感兴趣的:(iOS解耦广告轮播图)