filter은 Publisher의 인자값을 받아 Bool을 리턴하는 클로저를 가져요.
이 클로저에서 true를 리턴하면 Publisher의 값을 그대로 구독할 수 있지만,
false 리턴시 Output은 무시되고 .finished 완료이벤트를 받고 이벤트 스트림이 종료돼요.
Just([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
.filter({ justArray in
if justArray.reduce(0, +) > 100 {
return false
} else {
return true
}
})
.sink { completion in
print(completion)
} receiveValue: { value in
print(value)
}
.store(in: &cancellables)
// 결과
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
finished
Just([1, 2, 3, 4, 5, 6, 7, 8, 9, 10000])
.filter({ justArray in
if justArray.reduce(0, +) > 100 {
return false
} else {
return true
}
})
.sink { completion in
print(completion)
} receiveValue: { value in
print(value)
}
.store(in: &cancellables)
// 결과
finished