ReactiveCocoa操作方法-线程
deliverOn: 内容传递切换到制定线程中,副作用在原来线程中,把在创建信号时block中的代码称之为副作用。
subscribeOn: 内容传递和副作用都会切换到制定线程中
ReactiveCocoa操作方法-时间
timeout:
超时可以让一个信号再一定的时间后,自动报错
- (void)timeout{ RACSignal *signal = [[RACSignal createSignal:^RACDisposable *(idsubscriber) { 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 *(idsubscriber) { [subscriber sendNext:@1]; return nil; }] delay:2] subscribeNext:^(id x) { NSLog(@"%@", x); }];}