Reactivecocoa: Question: Signal pour les valeurs uniques uniquement

Créé le 29 avr. 2014  ·  8Commentaires  ·  Source: ReactiveCocoa/ReactiveCocoa

Je veux filtrer les valeurs en fonction du Supposons que j'ai un signal

RACSignal *original = ...;   // sends values [1,1,2,2,3,3,3,3,3,3,3,4,4,4,3,3,1,2]

Comment puis-je créer un signal filtered tel qu'il envoie des valeurs de s uniquement s'il est modifié par rapport à la valeur précédente? c'est à dire

RACSignal *filtered = [original ...];  // sends values [1, 2, 3, 4, 3, 1, 2]

Mon intuition RAC me dit que je peux le faire avec l'une de ces méthodes mapWithPrevious: ou n'importe quelle autre méthode, mais je ne sais pas très bien comment elles sont utilisées.

question

Commentaire le plus utile

@wdcurry L'API Swift l'appelle à la place skipRepeats .

Tous les 8 commentaires

-[RACSignal distinctUntilChanged]

Temps de réponse de premier ordre. Merci @jspahrsummers =]

@jspahrsummers Serait-il une bonne idée d'ajouter cette question /

L'opérateur lui-même est documenté, et il est utilisé dans de nombreux exemples et questions-réponses passées. Je ne sais pas où nous pourrions l'intégrer.

Eh bien, j'espère que cette question et cette réponse serviront de documentation suffisamment pour que les utilisateurs à la recherche de «valeurs uniques» soient dirigés vers cet opérateur très utile.

nouveau pour RAC, aimant son potentiel, ne recevant pas du tout le contexte du nom "distinctUntilChanged" .. Il semble presque qu'il ait besoin d'être nommé de manière opposée. Comme il a renvoyé une valeur distincte _lorsque_ la valeur passe à une autre valeur, il peut en fait être distinctWhenChanged. Je peux apprendre à le comprendre bien sûr, mais ce n'est pas intuitif.

@wdcurry L'API Swift l'appelle à la place skipRepeats .

Merci @jspahrsummers .. maintenant c'est plus immédiatement compréhensible ..

Cette page vous a été utile?
0 / 5 - 0 notes