zoukankan      html  css  js  c++  java
  • ReactiveCocoa操作方法-线程时间

    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);
        }];
    }
  • 相关阅读:
    python列表--查找集合中重复元素的个数
    python3-打印一个进度条
    python3-sys模块
    python3-字符串操作
    python3-深浅复制
    python3-os模块
    接口和抽象类有什么区别
    集合知识
    面向对象的特征有哪些方面
    javadoc时候乱码-编码 GBK 的不可映射字符
  • 原文地址:https://www.cnblogs.com/HMJ-29/p/4944007.html
Copyright © 2011-2022 走看看