博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[iOS开发]RAC实现图片下载功能
阅读量:6230 次
发布时间:2019-06-21

本文共 1373 字,大约阅读时间需要 4 分钟。

hot3.png

RAC实现图片下载功能

在实现异步RAC下载图片的过程中,需要注意以下几点:

  •  通过 NSURLConnection 对象的 +(RACSignal *)rac_sendAsynchronousRequest:(NSURLRequest*)r 可以创建网络异步下载的信号量对象;

  •  在执行完成异步下载过程后,需要通过 [x deliverOn:[RACScheduler mainThreadScheduler]] 操作将方法返回到主线程进行执行;

@implementation ViewController{    RACCommand  *loginCommand;    RACSignal   *loginSignal;}- (void)awakeFromNib{    //创建网络图片下载的URL对象    NSURL *url = [NSURL URLWithString:@"http://pica.nipic.com/2007-11-09/2007119124513598_2.jpg"];        //创建网络图片请求对象    NSURLRequest *request = [NSURLRequest requestWithURL:url];        //实例化命令操作对象    loginCommand = [[RACCommand alloc] initWithSignalBlock:^(id sender) {                //通过NSURLConnection的+方法,创建异步返回信号量        return [NSURLConnection rac_sendAsynchronousRequest:request];    }];            //信号量完成后的插座操作    [loginCommand.executionSignals subscribeNext:^(RACSignal *x)    {        //将下载完成的图片数据转换成图片对象后,在主线程赋值给imageView属性        [[x deliverOn:[RACScheduler mainThreadScheduler]] subscribeNext:^(RACTuple *tuple)         {             NSData *imageData = tuple.last;                          //imageView - UIImageView             self.imageView.image = [UIImage imageWithData:imageData];         }];    }];}- (void)viewDidLoad {    [super viewDidLoad];    //指定触发命令操作    //btn - UIButton    self.btn.rac_command = loginCommand;}@end

 

转载于:https://my.oschina.net/u/2438875/blog/501091

你可能感兴趣的文章
java 当前工作目录是指_java取得当前工作目录
查看>>
the java jive_Java Jive
查看>>
hadoop上传文件java_hadoop入门之通过java代码实现将本地文件上传到hadoop的文件系统...
查看>>
放苹果 java_用Java代码模拟实现:一个人不断往箱子里放苹果,另一个人不
查看>>
java ftp 判断目录存在_java判断ftp目录是否存在的方法
查看>>
java httpclient 进度条_如何获得一个文件的上传与Apache HttpClient的4进度条
查看>>
java获取指定日期的后一天_java获得指定日期的前一天,后一天的代码详解
查看>>
java反射工具类_反射和BeanUtils工具类的使用
查看>>
mysql概念模型中的3种基本联系_《数据库基础》练习题
查看>>
java vips_Java IConfigManager.getAllVIPs方法代碼示例
查看>>
java c 转换_由javac完成的任何类型的转换?
查看>>
java properties类_Java Properties 类
查看>>
java 账号密码登陆验证码_介绍javaweb登录验证码的实现方法步骤
查看>>
java 上传 分片技术_java 大文件分片上传处理
查看>>
java 平滑 停止_设计Java应用程序的平滑停止
查看>>
java生成8位数随机码_JAVA 生成无重复8位随机码
查看>>
java范围查询treemap_java集合-TreeMap
查看>>
Java解决主从数据库延迟问题_MySQL主从数据库同步延迟问题解决
查看>>
java将jfif格式转换成ipg_jfif是什么格式?Win10将图片JFIF格式转成JPG格式的方法
查看>>
socket.io java 点对点_netty-socket.io点对点通讯和聊天室通讯
查看>>