¿Cuál es la diferencia entre RACSequence y RACSignal?

Tal vez me falta totalmente esto, pero según la documentation sobre ReactiveCocoa en sus types , RACSequences son señales.

Sin embargo. Veo ejemplos donde tiene un código como este:

RACSignal *letters = [@"ABCDEFGHI" componentsSeparatedByString:@" "].rac_sequence.signal; // Outputs: ABCDEFGHI [letters subscribeNext:^(NSString *x) { NSLog(@"%@", x); }]; 

Y también

 RACSequence *letters = [@"ABCDEFGHI" componentsSeparatedByString:@" "].rac_sequence; // Contains: AA BB CC DD EE FF GG HH II RACSequence *mapped = [letters map:^(NSString *value) { return [value stringByAppendingString:value]; }]; 

Muchos de los ejemplos tienen RACSequence y RACSignal. ¿Cuál es la diferencia entre rac_sequence.signal o simplemente suscribirse a la señal en sí?

Uno es impulsado por pull ( RACSequence ) y el otro impulsado por empuje ( RACSignal ). De aqui :

Impulsado por impulsos significa que los valores de la señal no están definidos en el momento de la creación de la señal y pueden estar disponibles en un momento posterior (por ejemplo, como resultado de la request de la networking o de cualquier input del usuario). Pull-driven significa que los valores en la secuencia se definen en el momento de la creación de la señal y podemos consultar los valores de la secuencia uno por uno.

En su caso, realiza el pull-driven RACSignal , porque ya tiene sus valores.

    Intereting Posts