RAC-delagete的使用
来源:互联网 发布:淘宝人群标签形成过程 编辑:程序博客网 时间:2024/05/17 23:14
RACDelegateProxy *delegateProxy = [[RACDelegateProxy alloc]initWithProtocol:@protocol(UITextFieldDelegate)]; [[delegateProxy rac_signalForSelector:@selector(textFieldShouldReturn:)] subscribeNext:^(RACTuple *args) { UITextField *field = [args first]; [field resignFirstResponder];}]; self.textfield.delegate = (id<UITextFieldDelegate>)delegateProxy; objc_setAssociatedObject(self.textfield, _cmd, delegateProxy, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
上面的代码片段就明确指定self.textfield
的- (BOOL)textFieldShouldReturn:(UITextField *)textField;
会被执行。还需要注意的是,这里delegateProxy
可能会无缘无故的被释放掉而crash,所以需要保留它,最后一句代码的作用就是这个。 虽然这个类在实际使用中作用不打,但是在RAC内部像UITextView (RACSignalSupport)
UIAlertView (RACSignalSupport)
都会用到
其实这里我们也可以通过这样方法实现
[[self.textfield rac_signalForControlEvents:UIControlEventEditingDidEndOnExit] subscribeNext:^(id x) { NSLog(@"%s", __func__);}];
0 0
- RAC-delagete的使用
- RAC的浅显使用
- RAC的使用
- RAC中组合的使用
- Rac使用
- RAC的基础类的使用
- 关于RAC的简单使用<转载>
- 开发中ReactiveCocoa的使用(RAC的属性监听)
- 使用nfs搭建rac
- Oracle10g RAC的安装(使用NFS代替共享存储)
- 让两个节点的RAC使用一个SPfile参数文件!
- 使用tar恢复ORACLE RAC环境的软件目录
- 【RAC】使用频率较高的CRS维护命令总结
- 使用crs_setperm修改RAC资源的所有者及权限
- 11g RAC中pfile和spfile的使用总结
- crsctl的使用 11gR2 RAC (start,stop,status:部分)
- RAC使用频率较高的CRS维护命令
- 使用RAC的项目升级到Xcode7.3时报错
- ExtJS4单选下拉树组件
- ListView实现分页
- 流程控制
- windbg 驱动调试环境(virtualbox, vmware)
- 文件下载文件名乱码问题处理
- RAC-delagete的使用
- Java的集合之基础篇
- hdoj4540威威猫系列故事——打地鼠【dp】
- Android PowerImageView实现,可以播放动画的强大ImageView
- node.js连接MySQL
- ES6--Class
- 让页面目标元素 “固定” 在浏览器窗口的顶部 stickUp+jQuery.pin 插件 使用 单页导航
- 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理
- 【算法】-8大排序算法总结-Python