RAC是什么?
RAC — ReactiveCocoa(RAC) Github
一个开源框架!!
RAC — 函数响应编程框架!!
RAC有什么用?
帮助我们更简单霸气的处理事件!!
引入RAC 4.0.0
RAC里面最常见和常用的类!!!
RACSignal : 信号类!
- 通过RACSignal创建一个信号!! (默认是:
冷信号!!)
- 通过订阅者!订阅这个信号!(变成:
热信号!!)
- 发送信号!!
0.cocoapods管理ReactiveCocoa库,如果使用OC写建议导入4.0.0版本,可以看到OC底层源码
pod 'ReactiveCocoa'
1.ViewController的.h文件中
#import "ViewController.h"
#import <ReactiveCocoa/ReactiveCocoa.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// RACSignal: 信号类,当我们有数据产生,创建一个信号!
//1.创建信号(冷信号!)
//didSubscribe调用:只要一个信号被订阅就会调用!!
//didSubscribe作用:利用subscriber发送数据!!
RACSignal * signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
//3.发送数据subscriber它来发送
[subscriber sendNext:@"呵呵哈哈嘿嘿"];
return nil;
}];
//2.订阅信号(热信号!!)
//nextBlock调用:只要订阅者发送数据就会调用!
//nextBlock作用:处理数据,展示UI界面!
[signal subscribeNext:^(id x) {
//x:信号发送的内容!!
NSLog(@"%@",x);
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end