I want to pass a NSArray
as a parameter to UITapGestureRecognizer
and access it in downloadOptionPressed method. How can I do this ?
The NSArray
NSArray *parameters = [NSArray arrayWithObjects:currentTrack, nil];
Creating the UITapGestureRecognizer
UITapGestureRecognizer *downloadOptionPressed = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(timeFrameLabelTapped:)];
[downloadOption addGestureRecognizer:downloadOptionPressed];
The downloadOptionPressed
method
-(void)downloadOptionPressed:(UIGestureRecognizer*)recognizer{
}
Is there a reason you can't store the information in the owning view controller? Is it for abstraction?
You can always extend UITapGestureRecognizer to carry more data:
@interface UserDataTapGestureRecognizer : UITapGestureRecognizer
@property (nonatomic, strong) id userData;
@end
@implementation UserDataTapGestureRecognizer
@end
...
UserDataTapGestureRecognizer *downloadOptionPressed =
[[UserDataTapGestureRecognizer alloc] initWithTarget:self
action:@selector(timeFrameLabelTapped:)];
downloadOptionPressed.userData = parameters;
...
- (void)downloadOptionPressed:(UserDataTapGestureRecognizer *)recognizer {
NSArray *parameters = recognizer.userData;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With