rac_textSignal-Implementation使用“defer”在“self”上返回 RACSignal。 这是什么原因?
这是实现:
- (RACSignal *)rac_textSignal {
@weakify(self);
return [[[[[RACSignal
defer:^{
@strongify(self);
return [RACSignal return:self];
}]
concat:[self rac_signalForControlEvents:UIControlEventEditingChanged]]
map:^(UITextField *x) {
return x.text;
}]
takeUntil:self.rac_willDeallocSignal]
setNameWithFormat:@"%@ -rac_textSignal", [self rac_description]];
}
最佳答案
延迟信号和连接信号都发送 UITextField
(实际上是 self
)。
延迟信号使返回信号发送当前存储的订阅文本,因为 [self rac_signalForControlEvents:UIControlEventEditingChanged]
仅发送更改。
关于ios - RACSignal : Why use rac_textSignal a "defer" to return a RACSignal to self?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30559997/