博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RACChannelTo
阅读量:6657 次
发布时间:2019-06-25

本文共 1176 字,大约阅读时间需要 3 分钟。

RACChannelTo(self, name) = RACChannelTo(self.model, name);RACChannelTo(self, blurb) = RACChannelTo(self.model, blurb);RACChannelTo(self, filmType, @(ASHRecipeFilmTypeColourNegative)) = RACChannelTo(self.model, filmType, @(ASHRecipeFilmTypeColourNegative));复制代码

这是一个双向绑定,self.name和self.model.name任何一个改变,另外一个也会改变。第三个参数是默认值,出现nil就用这个来代替。有了它,model和ViewModel就可以双向同步。

RACChannelTerminal *channelA = RACChannelTo(self, valueA);    RACChannelTerminal *channelB = RACChannelTo(self, valueB);    [[channelA map:^id(NSString *value) {        if ([value isEqualToString:@"西"]) {            return @"东";        }        return value;    }] subscribe:channelB];    [[channelB map:^id(NSString *value) {        if ([value isEqualToString:@"左"]) {            return @"右";        }        return value;    }] subscribe:channelA];    [[RACObserve(self, valueA) filter:^BOOL(id value) {        return value ? YES : NO;    }] subscribeNext:^(NSString* x) {        NSLog(@"你向%@", x);    }];    [[RACObserve(self, valueB) filter:^BOOL(id value) {        return value ? YES : NO;    }] subscribeNext:^(NSString* x) {        NSLog(@"他向%@", x);    }];    self.valueA = @"西";    self.valueB = @"左";复制代码

转载地址:http://sjxto.baihongyu.com/

你可能感兴趣的文章
《Linux菜鸟入门2》mail服务
查看>>
Mysql DOS: 进入Mysql运行文目录 F:\mysql-8.0.13-winx64\bin
查看>>
中小型企业网络构建之路由的简单配置
查看>>
Create an inbound email action
查看>>
oracle教程之DML事务锁定的机制
查看>>
Oracle RMAN 维护(一)--RMAN的维护
查看>>
centos6.6关闭防火墙和selinux
查看>>
JAVA RMI远程方法调用简单实例
查看>>
Citrix桌面虚拟化解决方案介绍
查看>>
WCF学习2
查看>>
python之潜心研究多线程(thread模块) 建议使用threading模块
查看>>
阵列无法解挂导致VCS双机倒换失败
查看>>
ORACLE中用for in 使用cursor
查看>>
Apache - AH00451
查看>>
vim使用技巧
查看>>
nagios+centreon监控构建
查看>>
bootstrap-data-target触发模态弹出窗元素
查看>>
3.第一个MyBatis程序_进化
查看>>
获得ios屏幕上的像素
查看>>
FTPS(下)
查看>>