也许我完全错过了这个但是根据ReactiveCocoa on their types上的文档,RACSequences是信号。
然而。我看到你有这样的代码的例子:
RACSignal *letters = [@"A B C D E F G H I" componentsSeparatedByString:@" "].rac_sequence.signal;
// Outputs: A B C D E F G H I
[letters subscribeNext:^(NSString *x) {
NSLog(@"%@", x);
}];
还
RACSequence *letters = [@"A B C D E F G H I" componentsSeparatedByString:@" "].rac_sequence;
// Contains: AA BB CC DD EE FF GG HH II
RACSequence *mapped = [letters map:^(NSString *value) {
return [value stringByAppendingString:value];
}];
很多例子都有RACSequence和RACSignal。 rac_sequence.signal或只订阅信号本身有什么区别?
答案 0 :(得分:13)
一个是拉动(RACSequence
),另一个是推动(RACSignal
)。来自here:
推动驱动意味着信号的值未定义在 信号创建的时刻,可能在以后可用 (例如,作为网络请求或任何用户输入的结果)。 拉动意味着序列中的值定义在 信号创建的时刻,我们可以从流中查询值 一个接一个。
在您的情况下,您将RACSignal
拉动,因为您已经拥有其值。