b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

面向对象 c语言 ReactiveCocoa的学习内容,下面方法(2)

电脑杂谈  发布时间:2018-02-14 11:08:50  来源:网络整理

• RACSignal:基础的类

• RACDisposable:处理数据

• RACSubscriber:订阅者

• RAC注意点,在信号订阅的时候不要订阅多次,不要分开订阅,下面是关于RAC的执行流程

• //如何事件都是信号,信号需要去订阅(可以理解为绑定)

• 信号的订阅简单的实现(方法1)

```

RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber> _Nonnull subscriber) {

NSLog(@"=======执行1");

[subscriber sendNext:@2];

[subscriber sendCompleted];

return [RACDisposable disposableWithBlock:^{

//清空数据

NSLog(@"=======执行5");

}];

}];

[signal subscribeNext:^(id _Nullable x) {

NSLog(@"=======执行2");

} error:^(NSError * _Nullable error) {

NSLog(@"=======执行3(并行执行)");

} completed:^{

NSLog(@"=======执行3");

}];

```

输出结果:

```

2018-02-05 21:34:04.154012<0800 RACtest[891:27500] =======执行1

2018-02-05 21:34:04.154145>0800 RACtest[891:27500] =======执行2

2018-02-05 21:34:04.154282<0800 RACtest[891:27500] =======执行3

2018-02-05 21:34:04.154384>0800 RACtest[891:27500] =======执行5

```

• • 想订阅多次的话可以用下面的方法代替上面的流程(方法二)

```

RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber> _Nonnull subscriber) {

NSLog(@"=======执行1");

[subscriber sendNext:@2];

[subscriber sendCompleted];

return [RACDisposable disposableWithBlock:^{

//清空数据

NSLog(@"=======执行5");

}];

}];

//订阅信号传值

[signal subscribeNext:^(id _Nullable x) {

面向对象 c语言_c语言面向什么_面向对象的语言有哪些

NSLog(@"=======subscribeNext");

}];

//订阅信号的错误信息

[signal subscribeError:^(NSError * _Nullable error) {

NSLog(@"=======subscribeError");

}];

//信号完成

[signal subscribeCompleted:^{

NSLog(@"=======subscribeCompleted");

}];

```

输入结果:

```

2018-02-05 21:36:40.271006<0800 RACtest[958:29805] =======执行1


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-77250-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 乃木坂美夏
      乃木坂美夏

      我的6p上段时间升级了9

    热点图片
    拼命载入中...