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.
-[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 ..
Commentaire le plus utile
@wdcurry L'API Swift l'appelle à la place
skipRepeats
.