Swift ReactiveCocoa创建一个可以手动发射的信号发生器

Swift ReactiveCocoa创建一个可以手动发射的信号发生器,swift,reactive-cocoa,reactive-cocoa-4,Swift,Reactive Cocoa,Reactive Cocoa 4,我想在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 } } 如何创建信号发生器并将信号用作输入信号,然后手动触

我想在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

   }
}

如何创建信号发生器并将信号用作输入信号,然后手动触发信号。我这样做对吗?

要生成可以手动发出的信号,可以使用
signal.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 
let flagSignalProducer = SignalProducer(signal: flagSignal)