我经常使用 ReactiveCocoa 来跟踪某些变量的最新值,例如文本字段中的文本。有时,这些最新值实际上是自行计算的,多个订阅会导致计算多次发生。通常,合并这些计算会显着提高效率。
我想使用的是RACSignal*sharedComputationLatest=complexLatestValue.publish.autoconnect
,但是当新订阅者订阅共享计算信号时,他们不会被告知最新值。
是否有 publish
的变体(某种 publishLatest
)已经存在并且可以满足我的需要?如果没有,它是否已经存在并在 .Net 的 Rx 中有一个名称?
更新:事实证明,autoconnect
的语义与我想象的略有不同,即如果订阅者数量变为零然后备份,则不会重新连接-联系。我需要重新连接位,所以我实现了自己的方法(在下面的答案中)。
最佳答案
听起来像你想要的 -replayLast
.
关于reactive-cocoa - 是否有像发布这样的 ReactiveCocoa 方法,但它将最新值转发给新订阅者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21765057/