转换SignalProducer,向SignalProducer发送数组,发出原始数组的所有元素

时间:2016-04-21 10:01:10

标签: ios swift functional-programming reactive-cocoa

假设我有SignalProducer<[Element], Error>在启动时会发出一系列元素。

我想将SignalProducer转换为连续发出SignalProducer<Element, Error>数组的每个元素的新[Element]

这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以这样做:

let firstProducer: SignalProducer<[Element], Error> = // something
let toSingleElement: [Element] -> SignalProducer<Element, Error> = { SignalProducer(values: $0) }

let secondProducer = firstProducer.flatMap(.Concat, transform: toSingleElement)

您还可以使用Rex的运营商:uncollect