Reactivecocoa: Pergunta: Sinal apenas para valores únicos

Criado em 29 abr. 2014  ·  8Comentários  ·  Fonte: ReactiveCocoa/ReactiveCocoa

Eu quero filtrar os valores com base no suponha que eu tenha um sinal

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

Como posso criar um sinal filtered modo que envie valores de s apenas se for alterado do valor anterior? ie

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

Minha intuição RAC me diz que posso fazer isso com um dos mapWithPrevious: ou qualquer outro método, mas não tenho certeza de como eles são usados.

question

Comentários muito úteis

@wdcurry A API Swift o chama de skipRepeats .

Todos 8 comentários

-[RACSignal distinctUntilChanged]

Tempo de resposta de alto nível. Obrigado @jspahrsummers =]

@jspahrsummers Seria uma boa ideia adicionar esta pergunta / resposta à seção de filtragem ou apropriada da documentação online?

O próprio operador é documentado e usado em muitos exemplos e perguntas e respostas anteriores. Não tenho certeza de onde mais poderíamos encaixá-lo.

Bem, espero que esta pergunta e resposta sirvam como documentação suficiente para que os usuários que procuram por 'valores únicos' sejam direcionados a este operador muito útil.

novo no RAC, gostando de seu potencial, não entendendo totalmente o contexto do nome "DistingUntilChanged" .. Quase parece que precisa ter um nome oposto. Como ele retornou um valor distinto _quando_ o valor muda para outro valor, ele pode realmente ser distintoWhenChanged. Posso aprender a entender, é claro, mas não é intuitivo.

@wdcurry A API Swift o chama de skipRepeats .

Obrigado @jspahrsummers .. agora isso é mais imediatamente compreensível ..

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

akashivskyy picture akashivskyy  ·  5Comentários

gabro picture gabro  ·  5Comentários

eimantas picture eimantas  ·  6Comentários

LunaCodeGirl picture LunaCodeGirl  ·  3Comentários

v-silin picture v-silin  ·  4Comentários