iOS开发之旅--ReactiveCocoa使用小结2
来源:互联网 发布:2015淘宝销量排名 编辑:程序博客网 时间:2024/05/29 18:40
iOS开发之旅–ReactiveCocoa使用小结2
Go on!
先祝福孩子儿童节快乐!
未看第一篇博客的可以先看第一篇:ReactiveCocoa使用小结,欢迎交流
今天简单介绍RAC中rac_signalForSelector 、 rac_signalForControlEvents 的使用,
首先是delegate
delegate分为库定义和自己定义的。本文中主要讲解库定义的delegate的使用细节及技巧。
本文用常用的tableview做的例子,源码:TP
使用细节:只能用于无返回值的函数,具有返回值的函数不适合此方法,如果你真的想把所有的delegate使用block写法,那么推荐你使用这个三方库:Aspects,
我们绑定信号应该在设置delegate的前面,具体可以看代码,可供测试。
我们可以通过这种写法重新封装一个常用控件的分类来使用,
其次是按钮点击事件的绑定监听
已有按钮点击事件可以通过下面的方法实现
[[self.btn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { [[ShowPromptMessage sharedManager] showPromptMessage:@"按钮点击事件委托交给rac处理"]; }];
自定义按钮的点击事件,我们平时的方法是:
[myButton addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];//现在可以这样[[myButton rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { [[ShowPromptMessage sharedManager] showPromptMessage:@"测试自己创建按钮点击事件"]; }];
可以方便很多,点击事件的代码不需要去另一个地方找,直接就可以看到。
然后用来监听方法有没有执行的一个很好的办法
具体常用如下:
- (void)viewDidLoad { [[self rac_signalForSelector:@selector(goodBoy)] subscribeNext:^(id x) { NSLog(@"****goodBoy*****"); }]; //这个都需要放在监听后面,不然你都执行完了,才设置监听岂不是浪费了
最后是对通知的重写
话不多说,直接看代码。
//我们平时的代码,先添加通知,然后下面需要再实现一个方法,这里只需要这样。//��监听通知 [[[NSNotificationCenter defaultCenter] rac_addObserverForName:@"xiaoshiceshi" object:nil] subscribeNext:^(id x) { [[ShowPromptMessage sharedManager] showPromptMessage:@"上面点击事件给我发来通知"]; }];
0 0
- iOS开发之旅--ReactiveCocoa使用小结
- iOS开发之旅--ReactiveCocoa使用小结2
- iOS开发ReactiveCocoa的使用
- 菜鸟iOS 开发之MVC MVVM ReactiveCocoa
- iOS开发之ReactiveCocoa下的MVVM
- iOS之ReactiveCocoa简介和使用(一)
- iOS开发之block使用小结
- 【iOS开发】ReactiveCocoa配置
- iOS之ReactiveCocoa入门教程
- iOS 开发之 ReactiveCocoa 下的 MVVM(干货分享)
- iOS 开发之 ReactiveCocoa 下的 MVVM(干货分享)
- iOS 开发之 ReactiveCocoa 下的 MVVM(干货分享)
- iOS 开发之 ReactiveCocoa 下的 MVVM(干货分享)
- iOS开发之ReactiveCocoa下的MVVM(干货分享)
- iOS 开发之 ReactiveCocoa 下的 MVVM(干货分享)
- iOS开发之ReactiveCocoa框架(RAC)第一篇
- iOS之ReactiveCocoa简介和使用(二):MVVM
- ios编程之ReactiveCocoa框架
- 地图
- jquery跑马灯抽奖
- hadoop2.6.0伪分布式+spark1.6.0配置记录
- 1st 6月1日
- 序列化和反序列化
- iOS开发之旅--ReactiveCocoa使用小结2
- BZOJ2223 [Coci 2009]PATULJCI 题解&代码
- 使用bash工具创建 ssh key
- 通过Spring Resource接口获取资源
- 简易百度地图定位地址
- Windows下使用EasyBCD安装Linux双系统实践
- TCP协议和UDP协议的区别
- JavaSE基础之查找质数
- 初试编程+算法