41 lines
1.0 KiB
Objective-C
41 lines
1.0 KiB
Objective-C
//
|
|
// UIGestureRecognizer+RACSignalSupport.m
|
|
// ReactiveObjC
|
|
//
|
|
// Created by Josh Vera on 5/5/13.
|
|
// Copyright (c) 2013 GitHub. All rights reserved.
|
|
//
|
|
|
|
#import "UIGestureRecognizer+RACSignalSupport.h"
|
|
#import <ReactiveObjC/RACEXTScope.h>
|
|
#import "NSObject+RACDeallocating.h"
|
|
#import "NSObject+RACDescription.h"
|
|
#import "RACCompoundDisposable.h"
|
|
#import "RACDisposable.h"
|
|
#import "RACSignal.h"
|
|
#import "RACSubscriber.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", RACDescription(self)];
|
|
}
|
|
|
|
@end
|