gpt4 book ai didi

swift - ReactiveCocoa 创建一个可以手动发出的信号生成器

转载 作者:可可西里 更新时间:2023-11-01 02:17:04 25 4
gpt4 key购买 nike

我想在 swift 中使用 ReactiveCocoa 对以下场景进行建模。

class A{
let flagSignalProducer = A Signal Producer
someSignal.takeUntil(a signal that I can trigger manually which is created out of flagSignalProducer).subscribeNext{ (_) in

}
}

如何创建信号生成器并将信号用作 takeUntil 输入信号并稍后手动触发信号。我的做法正确吗?

最佳答案

要发出可以手动发出的信号,您可以使用 Signal<(), NoError>.pipe()获取对信号“观察者”的引用,这将允许您在信号上手动发送事件。

let (flagSignal, flagObserver) = Signal<(), NoError>.pipe()
someSignal.takeUntil(flagSignal).observeNext { _ in

}

//somewhere else, trigger the signal manually with the Observer
flagObserver.sendNext(())
flagObserver.sendCompleted() //complete the signal and free memory

如果您需要转换您的 flagSignalSignalProducer出于某种原因,有一个 SignalProducer构造函数,

let flagSignalProducer = SignalProducer(signal: flagSignal)

关于swift - ReactiveCocoa 创建一个可以手动发出的信号生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36838017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com