Find out how Subjects can receive new elements and emit new events to subscribers at runtime.
This is a companion discussion topic for the original entry at https://www.raywenderlich.com/4743-beginning-rxswift/lessons/8
Find out how Subjects can receive new elements and emit new events to subscribers at runtime.
I think Variable is deprecated. I heard from on Slack group that I should prefer something like: BehaviorRelay
Hello. There is an error in the downloaded files…
print(label, (event.element ?? event.error) ?? event)
why after using the disposed(by: disposableBag) instead of dispose()
on subscriptionOne.dispose()
it didn’t disposed?
@scotteg Can you please help with this when you get a chance? Thank you - much appreciated! :]
Hi @scel, I am not sure about your question, but to distinguish between calling dispose()
on a subscription vs. adding it to a DisposeBag
instance, calling dispose()
is immediate, and adding it to a DisposeBag
instance means that when deinit
is called on that instance, i.e., when it is about to be deallocated, it calls dispose()
on each item previously added to it. Here’s the relevant portion of the DisposeBag
implementation:
/// This is internal on purpose, take a look at `CompositeDisposable` instead.
private func dispose() {
let oldDisposables = _dispose()
for disposable in oldDisposables {
disposable.dispose()
}
}
private func _dispose() -> [Disposable] {
_lock.lock(); defer { _lock.unlock() }
let disposables = _disposables
_disposables.removeAll(keepingCapacity: false)
_isDisposed = true
return disposables
}
deinit {
dispose()
}
Somehow the supporting files are not getting downloaded when I download the materials for any episode so far in part 1.
@shreya I could download everything without any issues - do you still have problems with this?
Thank you.
This help me with the console output of
Optional(nil)