안녕하세요! 왈라비🦘 입니다!!

이번에는 Observable을 생성할 때 사용할 수 있는 empty에 대해서 알아보도록 하겠습니다.

RxSwift를 사용하다 보면 아무것도 없는 그러니까 초기화 하고 싶으실 때가 있을 겁니다.

그런데 아래와 같이 일반적인 방식으로 초기화 하려고 하면

let emptyObservable: Observable = Observable<Any>()

⬇️ 아래와 같은 에러가 나게 됩니다.

'Observable<Element>' initializer is inaccessible due to 'internal' protection level

그럼 어떻게 초기화 하면 되느냐?

이때 사용하게 되는 것이 empty() 입니다.

바로 아래와 같이 empty() 를 이용해서 빈 Observable을 선언할 수 있습니다.

let emptyObservable: Observable = Observable<Any>.empty()

이런식으로 empty()Observable을 초기화 시킬 때도 사용되지만

즉시 completed되는 Observable이나 element0개Observable을 의도적으로 리턴하고 싶을 때에도 유용하게 사용될 수 있습니다!