rac_textSignal-Implementation использует «defer» для возврата RACSignal на «self». В чем причина этого?RACSignal: Зачем использовать rac_textSignal «defer» для возврата 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]];
}
Почему отсрочка необходима? – itinance
Скорее всего, он поместится в слабительном/укрепляющем танце. Edit: Похоже, Jakub пришел к такому же выводу. – Simon