blob: 510d3bad3b0c89de4198a289df4963587f913249 [file] [log] [blame] [edit]
//
// UIGestureRecognizer+RACSignalSupport.m
// Talks
//
// Created by Josh Vera on 5/5/13.
// Copyright (c) 2013 GitHub. All rights reserved.
//
#import "UIGestureRecognizer+RACSignalSupport.h"
#import "RACEXTScope.h"
#import "NSObject+RACDeallocating.h"
#import "RACCompoundDisposable.h"
#import "RACDisposable.h"
#import "RACSignal.h"
#import "RACSubscriber.h"
#import "NSObject+RACDescription.h"
@implementation UIGestureRecognizer (RACSignalSupport)
- (RACSignal *)rac_gestureSignal {
@weakify(self);
return [[RACSignal
createSignal:^(id<RACSubscriber> subscriber) {
@strongify(self);
[self addTarget:subscriber action:@selector(sendNext:)];
[self.rac_deallocDisposable addDisposable:[RACDisposable disposableWithBlock:^{
[subscriber sendCompleted];
}]];
return [RACDisposable disposableWithBlock:^{
@strongify(self);
[self removeTarget:subscriber action:@selector(sendNext:)];
}];
}]
setNameWithFormat:@"%@ -rac_gestureSignal", [self rac_description]];
}
@end