iOS ReactiveCocoa的简单使用
来源:互联网 发布:反恐精英刷枪软件 编辑:程序博客网 时间:2024/06/05 14:54
ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架
ReactiveCocoa在开发中常见的用法
- Event(按钮的点击)
// 监听事件 // 把按钮点击事件转换为信号,点击按钮,就会发送信号 [[button rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { NSLog(@"按钮被点击"); }];
2.KVO观察者
// 监听对象的属性值改变,转换成信号,只要值改变就会发送信号 [[View rac_valuesAndChangesForKeyPath:@"x" options:NSKeyValueObservingOptionNew observer:nil] subscribeNext:^(id x) { NSLog(@"view的x值发生了改变"); }];
3.Notification通知
// 代替通知 // 把监听到的通知转换信号 [[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardWillShowNotification object:nil] subscribeNext:^(id x) { NSLog(@"键盘将要出现"); }]; // 通过RAC提供的宏快速实现观察者模式 // RACObserve(self, name):监听某个对象的某个属性,返回的是信号。 [RACObserve(self.greenView,x) subscribeNext:^(id x) { NSLog(@"绿色view的x方向发生改变"); }];
4.textField的文字信号
// 监听文本框的文字改变 [[_textField rac_textSignal] subscribeNext:^(NSString *x) { NSLog(@"文本框文字发生了改变:%@",x); }]; // 通过RAC提供的宏快速实现textSingel的监听 // RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某个属性绑定。 // 当textField的文字发生改变时,label的文字也发生改变 RAC(self.textLabel,text) = self.textField.rac_textSignal;
5.手势信号
// 监听手势 UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] init]; [[tapGesture rac_gestureSignal] subscribeNext:^(id x) { NSLog(@"view被触发tap手势"); }]; [self.view addGestureRecognizer:tapGesture];
6.过滤器filter方法的使用
// 过滤器 [[self.textField.rac_textSignal filter:^BOOL(NSString *value) { return value.length >= 3; }] subscribeNext:^(id x) { NSLog(@"%@",x); }];
一起学习,一起进步!
0 0
- iOS ReactiveCocoa的简单使用
- iOS ReactiveCocoa的简单使用
- iOS开发ReactiveCocoa的使用
- iOS深入了解ReactiveCocoa的使用(二)
- ReactiveCocoa的简单用法
- iOS ReactiveCocoa 使用详解(一)
- iOS ReactiveCocoa 使用详解(二)
- iOS ReactiveCocoa 使用详解(三)
- 使用ReactiveCocoa 实现简单的验证码按钮
- iOS-ReactiveCocoa(RAC)的初步了解以及基本使用
- iOS函数响应式编程以及ReactiveCocoa的使用
- ReactiveCocoa 的使用
- ReactiveCocoa 的RACMulticastConnection使用
- ReactiveCocoa 导入工程以及简单使用
- iOS开发之旅--ReactiveCocoa使用小结
- iOS之ReactiveCocoa简介和使用(一)
- iOS-ReactiveCocoa
- iOS ReactiveCocoa
- 机器学习算法中的过拟合与欠拟合
- java.io.ByteArrayInputStream的mark方法
- MyEclipse Java @override报错的解决方法
- show ip bgp ipv4 mvpn vrf LOCALSP neighbors 203.3.18.1 advertised-routes -------在特定的vrf show neighbo
- 《你不知道的JavaScript 中卷》
- iOS ReactiveCocoa的简单使用
- 2017近期架构运维行业会议跑会指南
- 伪类与伪元素的区别
- iOS常见又通用的一些小方法集合(不定时更新,欢迎补充)
- [00109]将Unicode文本标准化
- ScrollView嵌套ListView问题解决方案
- java版微信支付V3JSAPI 公众号支付
- 基于微信的直播方式
- 【Maven】Nexus(Maven仓库私服)下载与安装