Skip to content
This repository has been archived by the owner on Dec 5, 2019. It is now read-only.

Why forwardSignalWhileActive:(RACSignal *)signal subscribes only on the next and error, but not completed? #38

Closed
larryonoff opened this issue Feb 26, 2015 · 3 comments
Labels

Comments

@larryonoff
Copy link

No description provided.

@larryonoff larryonoff changed the title Whye forwardSignalWhileActive:(RACSignal *)signal subscribes only on the next and error, but not completed? Why forwardSignalWhileActive:(RACSignal *)signal subscribes only on the next and error, but not completed? Feb 26, 2015
@jspahrsummers
Copy link
Member

This isn't true, so can you please describe what problem you're actually encountering in detail?

@larryonoff
Copy link
Author

I'm not an expert in ReactiveCocoa, I'm just assuming.
According to this line of code there is subscribeNext:error: signal to enclose is subscribed only on next and error. So if signal to enclose sends completed it isn't forwarded from forwardSignalWhileActive:.

Let me explain my goal in detail.
I have a signal which should be unsubscribed from when model isn't active and when the model is active subscribed on the signal again. And this signal should be command signal. So I created the signal (let's call it signalToEnclose), enclosed it into forwardSignalWhileActive: signal and made it a command signal then. As result when signalToEnclose sends completed, the command says that it's still executing, but it shouldn't.

PS. I've solved my issue in another way, but I'm still interested in understanding of forwardSignalWhileActive: behavior.

Thank you.

@jspahrsummers
Copy link
Member

forwardSignalWhileActive: doesn't care if the provided signal completes because part of its contract is that it may re-subscribe to that signal any number of times.

If it actually forwarded completion events, it wouldn't be able to resubscribe, because the signal would be done forever.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants