【发布时间】:2015-08-20 15:33:30
【问题描述】:
我正在尝试使用 RAC 3.0 在我的视图和我的 viewModel 之间建立连接。 (一直在阅读 Colin Eberhardt 很棒的 tutorials on this)我想订阅一个每次调用 func mouseUp(theEvent: NSEvent) 时都会触发的信号。即
func mouseUp(theEvent:NSEvent){
//create some signal or pass a variable here to my viewModel
}
然后我想在我的 viewModel 中订阅该流。
let signalFromview = MutableProperty<String>("")
signalFromView.observe(next: { println($0) })
但我无法让它工作。我设法使它工作的唯一方法是像这样订阅 SignalProducer:
查看:
func mouseUp(theEvent:NSEvent){
viewModel.signalFromView.put(someValue)
}
视图模型:
signalFromView.producer
|>start { println($0) }
但这不是我想要的,因为使用生产者“拉取”值,即在第一次运行时,viewModel 中的代码将在初始化时以空值运行,因为它试图拉取一些不是那里...
希望这是有道理的。
【问题讨论】:
标签: swift mvvm reactive-cocoa reactive-cocoa-3