在我的應用程序中,我有一個信號通過flattenMap
觸發一些異步網絡活動。我想在網絡活動正在進行時顯示加載指示器。ReactiveCocoa - 將副作用變爲信號
我目前的解決方案非常有效:
[[[[self.signInButton
rac_signalForControlEvents:UIControlEventTouchUpInside]
doNext:^(id x) {
// show the loading indicator as a side-effect
self.loadingIndicator.hidden = NO;
}]
flattenMap:^id(id x) {
return [self doSomethingAsync];
}]
subscribeNext:^(NSNumber *result) {
// hide the indicator again
self.loadingIndicator.hidden = YES;
// do something with the results
}];
這工作,但我想改變上面的代碼,使負載指示的hidden
屬性可以通過一個信號設置。
這可能嗎?
在我的應用程序的其他地方,我有更復雜的要求,其中一個元素的可見性取決於幾個不同的'事件',能夠通過信號組成這些會更好。
+1謝謝你 - 我會盡量把你的答案包起來,並儘快給它試一試。非常感激。 – ColinE
你打賭!我很高興你復活這個問題。我有一天看到了它,但是在我能夠回答之前就刪除了它。 –
我刪除它,因爲我*認爲*我已經找到了答案,在github上看到這個問題https://github.com/ReactiveCocoa/ReactiveCocoa/issues/469然而,與RC2.0在答案中描述的一些技術是不再可用。從1.0-2.0的突破性廣泛變化可能會使RC RC學習變得有些棘手......並且在RC3.0中,他們計劃繼續進行一些進一步的重大突破性變革。無論如何 - 這是一個非常棒的框架。 – ColinE