Skip to content

Instantly share code, notes, and snippets.

@ljubinkovicd
Created December 9, 2018 11:49
Show Gist options
  • Save ljubinkovicd/69a05181d51ac8be7415e847788f7092 to your computer and use it in GitHub Desktop.
Save ljubinkovicd/69a05181d51ac8be7415e847788f7092 to your computer and use it in GitHub Desktop.
Create a custom Observable.
enum MyError: Error {
case anError
}
let disposeBag = DisposeBag()
let observable: Observable<String> = Observable<String>.create { observer in
observer.onNext("A")
observer.onNext("B")
// If we comment both of these, we will create an Observable that NEVER terminates!
observer.onError(MyError.anError)
observer.onCompleted()
observer.onNext("C")
return Disposables.create()
}
let subscription: Disposable = observable.subscribe(onNext: { element in
print(element)
},
onError: { error in
print(error)
},
onCompleted: {
print("Completed")
},
onDisposed: {
print("Disposed")
})
subscription.disposed(by: disposeBag)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment