码迷,mamicode.com
首页 > 编程语言 > 详细

ReactiveCocoa操作方法-线程\时间

时间:2015-11-07 01:00:33      阅读:504      评论:0      收藏:0      [点我收藏+]

标签:

ReactiveCocoa操作方法-线程
deliverOn: 内容传递切换到制定线程中,副作用在原来线程中,把在创建信号时block中的代码称之为副作用。

subscribeOn: 内容传递和副作用都会切换到制定线程中
 
 
 
ReactiveCocoa操作方法-时间
timeout:
     超时可以让一个信号再一定的时间后,自动报错
- (void)timeout
{
    RACSignal *signal = [[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        return nil;
    }] timeout:1 onScheduler:[RACScheduler currentScheduler]];
    [signal subscribeNext:^(id x) {
        NSLog(@"%@", x);
    } error:^(NSError *error) {
        //1秒后会自动调用
        NSLog(@"error = %@", error);
    }];
    /*结果:error = Error Domain=RACSignalErrorDomain Code=1 "(null)"*/
}
 
interval:
     定时,每隔一段时间发出信号
- (void)interval
{
    [[RACSignal interval:1 onScheduler:[RACScheduler currentScheduler]] subscribeNext:^(id x) {
        NSLog(@"%@", x);
    }];
}
 
delay:
     延迟发送Next
- (void)delay
{
    [[[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        [subscriber sendNext:@1];
        return nil;
    }] delay:2] subscribeNext:^(id x) {
        NSLog(@"%@", x);
    }];
}

ReactiveCocoa操作方法-线程\时间

标签:

原文地址:http://www.cnblogs.com/HMJ-29/p/4944007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!