【发布时间】:2016-03-13 13:58:00
【问题描述】:
我有一个视图模型,其中包含几个不同的功能,如下所示:
func somethingSignal() -> SignalProducer<Void, NSError>
{
return SignalProducer {
sink, disposable in
sink.sendNext(blabla)
sink.sendCompleted()
}
}
现在,这些信号需要按顺序运行 - 在前一个信号完成之前无法启动。因此,我有另一个函数,称为:
func setup() -> SignalProducer<Void, NSError>
{
return somethingSignal()
.then(somethingSignal2())
.then(somethingSignal3())
}
我的印象是 then 是用于这种行为的函数。 Signal3 不应该在 Signal2 完成之前开始,它不应该在 Signal1 完成之前开始。
调用setup的函数有start()调用。
我在哪里做错了?
【问题讨论】:
-
您从中看到了什么错误?
-
我是一个布偶,并且在 SignalProducer 块之外检查了一个期望非零的属性。当然,该函数在实际执行块之前返回 SignalProducer。虚惊一场,都修好了!
标签: ios swift reactive-cocoa reactive-cocoa-3