本文主要是介绍iOS_AFNetworking_UIImageView+AFNetworking(实现图片异步加载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
说明 :
UIImageView+AFNetworking 是AFNetworking中一个实现图片异步加载的类, 它是为系统中的UIImageView类添加的类目(Category), 这个类目中的方法为远程异步加载图片功能提供支持.
本文主要是针对UIImageView+AFNetworking的一些使用方法和在应用时需要注意的地方进行归纳, 供大家参考和自己学习.
程序代码中的 urlStr 和 placeholderImage 以自己工程中为准, 本文中使用MRC进行内存管理.
文章中尽量不使用或少使用封装, 目的是让大家清楚为了实现功能所需要的官方核心API是哪些(如果使用封装, 会在封装外面加以注释)
此文章由@河马流星锤编写, 经@春雨, @Scott 审核, 若转载此文章请注明出处和作者.
UIImageView+AFNetworking 的创建方法及相关知识点
核心API
class : UIImageView+AFNetworking
delegate : 无
涉及的API : (AFNetworking的官方API(英文)详见本章结尾)
/** 1. 通过指定的NSURL对象异步加载一个图片 */
- (void)setImageWithURL:(NSURL *)url/** 通过指定的NSURL对象异步加载一个图片, 并在加载完成之前设置一个占位图片. */
- (void)setImageWithURL:(NSURL *)urlplaceholderImage:(UIImage *)placeholderImage/** 2. 通过指定的NSRequest对象异步加载一个图片, 参数介绍详见本文结尾的API英文注释部分 */
- (void)setImageWithURLRequest:(NSURLRequest *)urlRequestplaceholderImage:(UIImage *)placeholderImagesuccess:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))successfailure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure/** 3. 取消请求操作 */
- (void)cancelImageRequestOperation
功能实现
思路
- 导入AFNetworking工程文件.
- 引入UIKit+AFNetworking/UIImageView+AFNetworking.h头文件.
- 下载图片
- 取消图片下载(可选)
(1). 导入AFNetworking工程文件
/** 本文使用的AFNetworking版本为AFNetworking_v2.5.1. */
(2). 引入UIKit+AFNetworking/UIImageView+AFNetworking.h头文件
#import "UIKit+AFNetworking/UIImageView+AFNetworking.h"/** 说明: UIImageView(AFNetworking)因为是在系统类上增加的类目不需要自己创建, 只要将AFNetworking工程文件拖入工程, 并在要使用页面位置引入头文件即可, 本文介绍使用的是添加到工程的两个文件夹中的文件夹"UIKit+AFNetworking"中, 引入"UIImageView+AFNetworking.h" */
(3). 实现图片异步加载
/* 创建NSURL对象 */NSURL *urlStr = [NSURL URLWithString:@"http://img2.cache.netease.com/3g/2015/9/18/20150918195439dc844.jpg"];/* 创建请求对象 */NSURLRequest *request = [NSURLRequest requestWithURL:urlStr];/* 创建一个imageView对象 */UIImageView *imageView = [[UIImageView alloc] initW
这篇关于iOS_AFNetworking_UIImageView+AFNetworking(实现图片异步加载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!