This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static func create(with dispose: @escaping () -> ()) -> Cancelable { | |
return AnonymousDisposable(disposeAction: dispose) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let observable = Observable<Void>.create { observer -> Disposable in | |
// run request | |
observer.onCompleted() | |
return Disposables.create { | |
// request.cancel() | |
print("disposed ☠️") | |
} | |
} | |
let disposable = observable.subscribe() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let disposable = Disposables.create() // useful when disposable mechanism is not necessary | |
disposable.dispose() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let disposable1 = Disposables.create { print("disposed-1 ☠️") } | |
let disposable2 = Disposables.create { print("disposed-2 ☠️") } | |
let binaryDisposable = Disposables.create(disposable1, disposable2) | |
print("dispose") | |
binaryDisposable.dispose() | |
// log: | |
// dispose |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static func create(_ disposable1: Disposable, _ disposable2: Disposable) -> Cancelable { | |
return BinaryDisposable(disposable1, disposable2) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let disposable1 = Disposables.create { print("disposed-1 ☠️") } | |
let disposable2 = Disposables.create { print("disposed-2 ☠️") } | |
let serialDisposable = SerialDisposable() | |
print("set disposable1") | |
serialDisposable.disposable = disposable1 | |
print("set disposable2") | |
serialDisposable.disposable = disposable2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let queue = DispatchQueue.global() | |
let scheduler = ConcurrentDispatchQueueScheduler(queue: queue) | |
let observable = Observable<Void>.create { observer in | |
observer.onCompleted() | |
return ScheduledDisposable(scheduler: scheduler, disposable: Disposables.create { | |
print("thread - \(Thread.current)") | |
}) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let disposable1 = Disposables.create { print("disposed-1 ☠️") } | |
let refCountDisposable = RefCountDisposable(disposable: disposable1) | |
let holdDisposable1 = refCountDisposable.retain() | |
let holdDisposable2 = refCountDisposable.retain() | |
print("main dispose") | |
refCountDisposable.dispose() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let disposable1 = Disposables.create { print("disposed-1 ☠️") } | |
let disposable2 = Disposables.create { print("disposed-2 ☠️") } | |
let disposable3 = Disposables.create { print("disposed-3 ☠️") } | |
let disposable = CompositeDisposable(disposables: [disposable1, disposable2, disposable3]) | |
print("dispose") | |
disposable.dispose() | |
// log: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let disposable1 = Disposables.create { print("disposed-1 ☠️") } | |
let disposable2 = Disposables.create { print("disposed-2 ☠️") } | |
let disposable3 = Disposables.create { print("disposed-3 ☠️") } | |
let disposable = CompositeDisposable(disposable1, disposable2) | |
print("dispose") | |
disposable.dispose() | |
print("insert disposable3") |