contains(where:)
Returns a Boolean value that indicates whether the asynchronous sequence contains an element that satisfies the given predicate.
- iOS
- 13.0+
- macOS
- 10.15+
- tvOS
- 13.0+
- watchOS
- 6.0+
func contains(where predicate: (Self.Element) async throws -> Bool) async rethrows -> Bool
Parameters
- predicate
A closure that takes an element of the asynchronous sequence as its argument and returns a Boolean value that indicates whether the passed element represents a match.
Returns
true
if the sequence contains an element that satisfies predicate; otherwise, false
.
You can use the predicate to check for an element of a type that doesn’t conform to the Equatable
protocol, or to find an element that satisfies a general condition.
In this example, an asynchronous sequence called Counter
produces Int
values from 1
to 10
. The contains(where:)
method checks to see whether the sequence produces a value divisible by 3
:
let containsDivisibleByThree = await Counter(howHigh: 10)
.contains { $0 % 3 == 0 }
print(containsDivisibleByThree)
// Prints "true"
The predicate executes each time the asynchronous sequence produces an element, until either the predicate finds a match or the sequence ends.