有没有办法让RACSignal在出错后继续接收`next`s?

时间:2014-01-24 18:27:47

标签: ios objective-c reactive-cocoa racsignal

我正在尝试侦听位置更新和错误(通过CLLocationManagerDelegate),并且支持跟踪错误但是将其从最终信号中过滤掉并保持活动的能力。

当我订阅位置信号时(通过ReactiveCocoaPlayground的-[LocationManager currentLocationSignal]),收到的任何错误都将结束信号。

我已尝试-catch:-catchTo:,但这些只是捕获一个错误,然后结束信号。

我已尝试在-catch:内返回该信号的全新实例,但之后THAT信号上的错误未被捕获(这导致稍后RAC()绑定崩溃)。

我也试过了一个递归方法来捕获这个问题,导致堆栈溢出(可能我只是犯了一个错误)。

错误发生后是否有办法接收next

1 个答案:

答案 0 :(得分:5)

我相信你正在寻找-[RACSignal retry]

/// Resubscribes to the receiving signal if an error occurs.
- (RACSignal *)retry;