reactive-cocoa - react 性 cocoa : Difference between binding to a Signal or a SignalProducer?

标签 reactive-cocoa reactive-swift reactive-cocoa-5

绑定(bind)运算符 (<~) 采用 BindingSource 参数,SignalSignalProducer 均符合协议(protocol)

我希望绑定(bind)到生产者的 UI 元素不会“接收事件”,直到生产者以某种方式启动,但情况似乎并非如此

let text = MutableProperty("abc")

myLabel1.reactive.text <~ text.signal
myLabel2.reactive.text <~ text.producer

text.value = "def"

导致两个标签更新。

这是有意的行为还是我误解了什么?

最佳答案

这是预期的行为。您可以看到in the implementation of <~ start被显式调用(并且生产者的处置与绑定(bind)目标的生命周期相关)。

[编辑]

澄清一下,按照您想象的方式将生产者本身绑定(bind)到标签没有多大意义。如果 start 会发生什么被多次调用以产生多个信号?标签是否会从第一个信号、最近的信号或合并在一起的所有信号中获取值?没有直观的方法可以实现这一点。

关于reactive-cocoa - react 性 cocoa : Difference between binding to a Signal or a SignalProducer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44165814/

相关文章:

ios - 使用未解析的运算符 '<~'

ios - 使用 ReactiveCocoa (4.2.1) 和 Swift 异步加载图像

ios - 使用 ReactiveCocoa 从对象数组链接异步操作

ios - 使用 Reactive Cocoa swift 验证文本字段

ios - 将 UITextView 绑定(bind)到 MutableProperty

ios - 跳过(同时 :) call against a Signal in ReactiveSwift is being ignored

swift - 观察 UISwich 控件状态

ios - 未找到 metamacros.h,通过 CocoaPods 的 ReactiveCocoa

ios - 使用 Reactivecocoa Events 只调用一次

reactive-cocoa - 模拟一个 Reactive<UISlider>?