Files
featherVoice/Pods/ReactiveObjC/ReactiveObjC/UIGestureRecognizer+RACSignalSupport.m
2025-08-08 10:49:36 +08:00

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