1

flattenMap を使用してシグナルから新しい値を変換します。エラーではなく、完了した状態で、何らかの条件に基づいてプロセスを停止したいと考えています。以下のコードでは、これを行うことはできません。一部の値をフィルタリングするだけです。flattenMap から完了するにはどうすればよいですか?

RACSignal* anySignal = //
[ [ anySignal
 flattenMap: ^(id _)
 {
    return [ RACSignal empty ];
 } ]
subscribeCompleted:
^{
   NSLog(@"Not Called");
}];
4

1 に答える 1

5

-flattenMap:関連するすべてのシグナルが完了するまで完了しません。つまり、-flattenMap:呼び出されたシグナルと、map ブロックから返されたシグナルが完了します。信号を完了するには、 と をチェックして-takeUntilBlock:ください-takeWhileBlock:

于 2014-10-15T20:56:01.193 に答える