123456789101112131415161718192021222324252627282930313233343536373839 |
- //
- // UITextField+RACSignalSupport.m
- // ReactiveObjC
- //
- // Created by Josh Abernathy on 4/17/12.
- // Copyright (c) 2012 GitHub, Inc. All rights reserved.
- //
- #import "UITextField+RACSignalSupport.h"
- #import <ReactiveObjC/RACEXTKeyPathCoding.h>
- #import <ReactiveObjC/RACEXTScope.h>
- #import "NSObject+RACDeallocating.h"
- #import "NSObject+RACDescription.h"
- #import "RACSignal+Operations.h"
- #import "UIControl+RACSignalSupport.h"
- #import "UIControl+RACSignalSupportPrivate.h"
- @implementation UITextField (RACSignalSupport)
- - (RACSignal *)rac_textSignal {
- @weakify(self);
- return [[[[[RACSignal
- defer:^{
- @strongify(self);
- return [RACSignal return:self];
- }]
- concat:[self rac_signalForControlEvents:UIControlEventAllEditingEvents]]
- map:^(UITextField *x) {
- return x.text;
- }]
- takeUntil:self.rac_willDeallocSignal]
- setNameWithFormat:@"%@ -rac_textSignal", RACDescription(self)];
- }
- - (RACChannelTerminal *)rac_newTextChannel {
- return [self rac_channelForControlEvents:UIControlEventAllEditingEvents key:@keypath(self.text) nilValue:@""];
- }
- @end
|