0

が状態またはの場合recordingに変化するプロパティ があります。YESUILongPressGestureRecognizerUIGestureRecognizerStateBeganUIGestureRecognizerStateChanged

初期値ではなく、元の値にrecording戻ったときにのみ発火するシグナルを作成するにはどうすればよいですか?NO

4

2 に答える 2

5

これは、の値が に変更さ@YESれるたびに送信し、 を無視します。self.recordingYESNO

RACSignal *mySignal = [RACObserve(self, recording) ignore:@NO];

NOこれは、またはであるかどうかに関係なく、初期値をスキップし、YES後続のすべての値 ( または のいずれNOYES)を送信します。

RACSignal *mySignal = [RACObserve(self, recording) skip:1];

NSKeyValueObservingOptionNewプロパティが新しい (初期値ではなく) 値に設定された場合にのみ値を送信するために、ReactiveCocoa KVO を使用してプロパティをよりきめ細かく制御できます。

RACSignal *mySignal = [self rac_valuesAndChangesForKeyPath:@"recording" 
                                                   options:NSKeyValueObservingOptionNew
                                                  observer:self];
于 2013-11-27T16:46:00.853 に答える
2

skip:最初の「NO」信号をスキップする方法を試してみましたか?

于 2013-11-26T17:33:02.237 に答える