Applies a closure that accumulates each element of a stream and publishes a final result upon completion.
SDKs
- iOS 13.0+
- macOS 10.15+
- Mac Catalyst 13.0+
- tvOS 13.0+
- watchOS 6.0+
- Xcode 11.0+
Framework
- Combine
Declaration
func reduce<T>(_ initialResult: T, _ nextPartialResult: @escaping (T, (A.Output, B.Output)) -> T) -> Publishers.Reduce<Publishers.Combine Latest<A, B>, T>
Parameters
initialResult
The value the closure receives the first time it is called.
nextPartialResult
A closure that takes the previously-accumulated value and the next element from the upstream publisher to produce a new value.
Return Value
A publisher that applies the closure to all received elements and produces an accumulated value when the upstream publisher finishes.