У меня есть производитель сигналов, когда он завершается, я хотел бы знать, было ли отправлено значение, мне нужен только последний, кажется таким простым...
let myProducer: SignalProducer<MyObject, MyError> = getMyProducer()
myProducer.on(terminated: {
// I need the last value here
// Or I need to know if value was never called
}).start()
Я пытался сохранить значение в локальной переменной:
let myProducer: SignalProducer<MyObject, MyError> = getMyProducer()
var myValue: MyObject?
myProducer.on(value: { value in
myValue = value
}, terminated: {
guard let value = myValue else {
// value was never called
return
}
// value was called
}).start()
Но иногда вызывается завершение, когда значение было вызвано, но myValue по-прежнему равно нулю...