Reactivecocoa: 'flatten' 的含糊用法,4.2.x 中的新内容

创建于 2016-06-04  ·  10评论  ·  资料来源: ReactiveCocoa/ReactiveCocoa

可能与https://github.com/ReactiveCocoa/ReactiveCocoa/issues/2530有关

这在更新到4.2.x

我是 ReactiveCocoa 的新手,不知道如何解决这个问题。

var signalProducers: [SignalProducer<Void, NSError>] = [ some0SignalProducer ]
signalProducers += some1SignalProducers
signalProducers += some2SignalProducers
signalProducers += some3lSignalProducers

return SignalProducer(values: signalProducers)
            .flatten(FlattenStrategy.Concat)
question

所有10条评论

您需要声明信号生成器的类型。 我们添加了处理NoError重载,但在某些情况下可能会混淆类型推断器。

这应该有效:

var signalProducers: [SignalProducer<Void, NSError>] = [ some0SignalProducer ]
signalProducers += some1SignalProducers
signalProducers += some2SignalProducers
signalProducers += some3lSignalProducers

return SignalProducer<SignalProducer<Void, NSError>, NoError>(values: signalProducers)
            .flatten(FlattenStrategy.Concat)

抱歉打扰了!

@mdiep救了我! 🙇

@mdiep是计划在未来解决的问题吗? 因此,我们现在得到了很多显式类型。 现在写起来没那么快,也不简洁,读起来也难。

@nikita-leonov IIUC 这应该已经由https://github.com/ReactiveCocoa/ReactiveCocoa/pull/3043解决并作为v4.2.2发布。

@ikesyo谢谢! 我注意到 4.2.2 尚未在 CocoaPods 中发布。 它是核心贡献者可以处理的吗? 我看到你在一个 pod 的所有者中列出。

它仍然需要测试,如 #3043 中所述😁

@NachoSoto是的,它缺少单元测试,但已经合并到 4.2.2 并且已经发布:( 在 CocoaPods 中发布 4.2.2 似乎也合乎逻辑。

@NachoSoto该测试已添加到 #3048 中。 :眨眼:

@ikesyo哦,当然是derp。 谢谢!

@ikesyo好的,我处理了。 @ashfurrow共享对 podspec 主干的访问,我发布了 4.2.2。

此页面是否有帮助?
0 / 5 - 0 等级