Generic Instance Method


Combine elements from three other publishers and deliver groups of elements as tuples.


func zip<P, Q, R>(_ publisher1: P, _ publisher2: Q, _ publisher3: R) -> Publishers.Zip4<Publishers.Share<Upstream>, P, Q, R> where P : Publisher, Q : Publisher, R : Publisher, Self.Failure == P.Failure, P.Failure == Q.Failure, Q.Failure == R.Failure



A second publisher.


A third publisher.


A fourth publisher.

Return Value

A publisher that emits groups of elements from the upstream publishers as tuples.


The returned publisher waits until all four publishers have emitted an event, then delivers the oldest unconsumed event from each publisher as a tuple to the subscriber. For example, if publisher P1 emits elements a and b, and publisher P2 emits elements c and d, and publisher P3 emits the elements e and f, and publisher P4 emits the event g, the zip publisher emits the tuple (a, c, e, g). It won’t emit a tuple with elements b, d, or f until P4 emits another event. If any upstream publisher finishes successfuly or fails with an error, the zipped publisher does the same.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software