作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
(也可以在 GitHub 上向 ReactiveCocoa 人员发表评论。)
我在一个非常简单的 RACTest (source is on GitHub) 中尝试 ReactiveCocoa试图通过实际使用它来巩固我的理论理解。
我有一个 RACChannel
我认为,这提供了 RAC()
之间的双向绑定(bind)。编辑左值和我指定为 RACChannel
的参数的任何内容.
My usage好像:
// Map the ticker's accumulationEnabled property to self.paused.
RAC(self, paused) = [RACChannelTo(_ticker, accumulateEnabled) deliverOn:[RACScheduler mainThreadScheduler]];
_ticker.accumulateEnabled
向一个方向流动至
self.paused
, 但更改为
self.paused
没有流回
_ticker
.
RACChannel
?它有什么用,这不是预期的用途吗?
最佳答案
我误解了如何使用 RACChannel
.使用 RACChannelTo
在任务的双方都按预期工作:RACChannelTo(self, paused) = RACChannelTo(_ticker, accumulateEnabled);
更改 self.paused
的主线程交付有点复杂,但并不可怕:
RACChannelTerminal *accumulateChannel = RACChannelTo(_ticker, accumulateEnabled);
RAC(self, paused) = [accumulateChannel deliverOn:RACScheduler.mainThreadScheduler];
[[RACObserve(self, paused) skip:1] subscribe:accumulateChannel];
skip:1
是必要的,但没有它,RAC 会破坏堆栈,所以我保留它
per the GitHub issue 。)
关于reactive-cocoa - RACChannel : not seeing the two-way binding I expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713763/
我是一名优秀的程序员,十分优秀!