У меня три издателя. Два, которые уже произвели ценность, и один, который может или не может сделать это. Мне нужно объединить их и произвести вывод.
var changeDay = NotificationCenter.Publisher.init(center: .default, name: .NSCalendarDayChanged
var someDate: AnyPublisher<Date, Never> {
Publishers.CombineLatest3($someInputBool, $someInputDate, changeDay).map { (a, b, c) -> Date in
return <someDate based on a and b, but if day changes, the result will be different.>
}.eraseToAnyPublisher()
}
Если день еще не изменился, CombineLatest3 не будет ничего возвращать, поскольку он ожидает начального значения от c до запуска clousure. Как я могу убедиться, что CombineLatest3 возвращается, даже если один издатель не отправил ни одного значения? Я использую c
в качестве триггера здесь для пересчета моей пользовательской даты.