사용용도
•
발행된 nil 값을 특정 값으로 대체해서 재발행
예제
example(of: "replaceNil") {
// 1
["A", nil, "C"].publisher
.eraseToAnyPublisher()
.replaceNil(with: "-") // 2
.sink(receiveValue: { print($0) }) // 3
.store(in: &subscriptions)
}
——— 결과 ———
A
-
C
Swift
복사
•
닐 콜리싱 연산자 ?? 과는 미묘한 차이가 있다.
◦
?? : 여전히 nil 일 수 있다.
◦
replaceNil : 결코 결과물이 nil 일 수 없다.
.replaceNil(with: "-" as String?)
Swift
복사
따라서, 위 코드는 에러를 발생시킨다.