美文网首页
iOS ReactiveCocoa 初探

iOS ReactiveCocoa 初探

作者: 索性流年 | 来源:发表于2019-03-20 09:07 被阅读0次

ReactiveCocoa(简称为RAC)是构建于ReactiveSwift之上的一个基于函数响应式编程思想的框架。 提供了一套可组合,可声明,可实现,可回调,灵活多变的API。

CocoaPost 导入

ReactiveObjC

手动集成传送门祝你好运

#import<ReactiveObjC.h>
#import<NSObject+RACKVOWrapper.h>

利用RAC做响应.一个方法的调用

[[_myrecView rac_signalForSelector:@selector(sendMsg:)]subscribeNext:^(RACTuple * _Nullable x) {

    NSLog(@"控制器听到了%@",x);

}];

KVO Rac做监听

[_myrecView rac_observeKeyPath:@"frame" options:NSKeyValueObservingOptionNew observer:nil block:^(id value, NSDictionary *change, BOOL causedByDealloc, BOOL affectedOnlyLastComponent) {

    NSLog(@"属性改变了%@",change);

}];
//简化方法
[[_myrecView rac_valuesForKeyPath:@"frame" observer:nil]subscribeNext:^(id  _Nullable x) {

    NSLog(@"%@",x);

}];

//监听按钮点击事件

[[_Abutten rac_signalForControlEvents:UIControlEventTouchUpInside]subscribeNext:^(__kindof UIControl * _Nullable x) {

    NSLog(@"你点击了我!!");

}];

监听键盘事件

[[[NSNotificationCenter defaultCenter]rac_addObserverForName:UIKeyboardDidHideNotification object:nil]subscribeNext:^(NSNotification * _Nullable x) {

    NSLog(@"%@",x);

}];

输入框事件

[_myText.rac_textSignal subscribeNext:^(NSString * _Nullable x) {

    NSLog(@"%@",x);

}];

RAC 定时器 一句话 一秒执行一次

[[RACSignal interval:1.0 onScheduler:[RACScheduler scheduler]]subscribeNext:^(NSDate * _Nullable x) {

    NSLog(@"第%@秒",x);

}];

五秒后执行一次

[[RACScheduler mainThreadScheduler]afterDelay:5 schedule:^{

    NSLog(@"五秒后执行一次");

}];

相关文章

网友评论

      本文标题:iOS ReactiveCocoa 初探

      本文链接:https://www.haomeiwen.com/subject/bmclmqtx.html