Publishers.FirstWhere
μ λ€λ¦ ꡬ쑰체 | νΉμ 쑰건 ν΄λ‘μ λ₯Ό λ§μ‘±νκΈ° μν μ€νΈλ¦Όμ 첫 λ²μ§Έ μμλ§μ λ°ννλ Publisher
μ΄λμ λΌμ΄μ λ λ κ°μ μΈμλ₯Ό λ°λλ€.
upstream
: μμμ νλ₯΄λ Publisherpredicate
: μ΄λ€ μμλ₯Ό λ°νν μ§ κ²°μ νλ ν΄λ‘μ
μμ Publisherλ‘λΆν° 쑰건 ν΄λ‘μ μ λ§μ‘±νλ μμλ₯Ό λ¨Όμ λ½μλ΄κ³ , κ·Έ μ€μμ 첫 λ²μ§Έ μμλ§μ λ°ννλ€.
first
μ€νΌλ μ΄ν°μ κ΄λ ¨μ΄ μλ€.
// Publishers.FirstWhere Publisher
Publishers
.FirstWhere(upstream: Publishers.Sequence<[Int], Never>(sequence: [1, 2, 3, 4, 5])) { $0.isMultiple(of: 2) }
.sink(receiveCompletion: { completion in
switch completion {
case .failure:
print("Combine FirstWhere Error")
case .finished:
print("Combine FirstWhere Finish")
}
}, receiveValue: { value in
print("Combine FirstWhere : \(value)")
})
.store(in: &cancellables)
// first Operator
Publishers.Sequence<[Int], Never>(sequence: [1, 2, 3, 4, 5])
.first { $0.isMultiple(of: 2) }
.sink(receiveCompletion: { completion in
switch completion {
case .failure:
print("Combine FirstWhere Error")
case .finished:
print("Combine FirstWhere Finish")
}
}, receiveValue: { value in
print("Combine FirstWhere : \(value)")
})
.store(in: &cancellables)
// Combine FirstWhere : 2
// Combine FirstWhere Finish
μμ Publisherλ 1, 2, 3, 4, 5μ κ°μ μ°¨λ‘λλ‘ λ΄κ³ , 2μ λ°°μμ 쑰건μ μ€μ νλ€.
κ°λ€ μ€ 2μ λ°°μμΈ 2, 4 μ€ μ²« λ²μ§Έ μμλ 2μ΄λ―λ‘, μ΅μ’ μ μΌλ‘ 2μ κ°μ λ΄κ³ μ’ λ£νλ€.
RxSwift
ν΄λΉ λμμ ꡬννκΈ° μν μ€νΌλ μ΄ν°λ₯Ό μ 곡νμ§ μλλ€.
ReactiveSwift
ν΄λΉ λμμ ꡬννκΈ° μν μ€νΌλ μ΄ν°λ₯Ό μ 곡νμ§ μλλ€.
Last updated
Was this helpful?