3

我正在尝试监听位置更新和错误(通过CLLocationManagerDelegate),并支持跟踪错误但将它们从最终信号中过滤出来并使其保持活动状态的能力。

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

我试过了-catch:-catchTo:但那些只是捕捉到一个错误然后结束信号。

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

我也尝试了一种递归方法来解决这个问题,这导致了堆栈溢出(也许我只是犯了一个错误)。

发生错误后有没有办法接收nexts ?

4

1 回答 1

5

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

/// Resubscribes to the receiving signal if an error occurs.
- (RACSignal *)retry;
于 2014-01-26T00:58:21.297 回答