美文网首页
RACChannel介绍

RACChannel介绍

作者: 解放者莫雷尔 | 来源:发表于2016-09-12 16:11 被阅读0次

RACChannel可以被看成是一个由两个并行工作的signal组成的双向连接。例如,当连接一个view和一个model时有如下模型:
Model View
leadingTerminal ------> followingTerminal
leadingTerminal <------ followingTerminal

Model的初始值以及后面值的改变都会发送到leadingTerminal,由followingTerminal的订阅者所接收。
同样,不论何时view的值发生了改变,修改后的值会发送到followingTerminalleadingTerminal中的model会收到。但是,view的初始值不回被收到。

RACChannelTo宏

RACChannelTo()作为右值表达式时,它返回一个RACChannelTerminal,可以用来观测特定属性的改变。如果作为左值,那么右值必须是一个RACChannelTerminal值。两个RACChannelTerminal互相订阅,左边的属性值会立刻发送到右边的信号,然后接下来值的改变都会发给对方。

在使用两个textField进行双向绑定测试时发现了这么一个现象:

self.valueTextField.rac_newTextChannel sends values when you type in the text field, but not when you change the text in the text field from code.

RACChannelTo(self.uiTextField, text) sends values when you change the text in the text field from code, but not when you type in the text field.


RACKVOChannel继承RACChannel,通过下面方法初始化:
``` - (id)initWithTarget:(NSObject *)target keyPath:(NSString *)keyPath nilValue:(id)nilValue;```
当前key path的值以及后续的KVO通知都是发送给channel的following terminal的订阅者。

相关文章

  • RACChannel介绍

    RACChannel可以被看成是一个由两个并行工作的signal组成的双向连接。例如,当连接一个view和一个mo...

  • RacChannel

    RacChannel ---RacChannelTerminal+++UIControlRacKVOChannel...

  • ReactiveCocoa使用实践

    使用RACChannel进行双向数据绑定 RACChannel 非常适合于视图和模型之间的双向绑定,在对方的属性或...

  • ReactiveObjC常用使用

    ReactiveObjC常用使用 处理一个界面,多个请求问题 RACChannel双向数据绑定 适合视图和模型之...

  • RAC双向绑定UITextField的正确姿势

    RAC双向绑定UITextField的正确姿势 一句话概括文章内容 UITextField使用RACChannel...

  • RACChannelTo() = RACChannelTo()的

    RACChannel 可以被理解为一个双向的连接,这个连接的两端都是 RACSignal 实例,它们可以向彼此发送...

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

网友评论

      本文标题:RACChannel介绍

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