我正试图找到一种方法来转换信号,该信号将X元素发送到受大小限制的X元素数组中。
类似的东西:
signal.take(2).collect()。observeNext {changes in myFunction的(改变) }
但是在完成之后就死了。我需要它:
有什么想法吗?
答案 0 :(得分:1)
我解决了这个任务(位置),这是我的解决方案
extention SignalProducer {
func accumulate(size: Int) -> SignalProducer<[Value], Error> {
var values: [Value] = []
func next(value: Value) {
if values.count >= size {
values.removeAll()
}
values.append(value)
}
return on(next: next)
.filter { _ in values.count < size }
.map { _ -> [Value] in return values }
}
}