使用带有两个(或更多)参数的选择器

时间:2014-01-22 00:17:58

标签: ios objective-c uiscrollview selector uigesturerecognizer

我读过这个问题:

Relevant question

我仍然没有真正了解如何使用具有多个参数的选择器。

这是我的代码:

{
...
//add single tap gesture to the view
SEL mySelector = @selector(handleSingleTap:withScroll:);
UIGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:mySelector];
[myView addGestureRecognizer:singleTap];
...
}

- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer withScroll:(UIScrollView*)scroll {
    ...
}

但当然不行。运行时(UIScrollView*)scrollnil

我如何将其设置为(UIScrollView*)scroll

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

UIGestureRecognizer的选择器只能使用1个参数,识别器本身只用一个参数调用你的选择器,因此方法中的任何其他参数都将为nil,因为调用堆栈中没有更多的参数。

答案 1 :(得分:0)

我所做的是发送一个实际上是NSDictionary的参数...所以我可以在一个参数中发送大量信息。 GL HF