The selector type is SEL
(not sel), and you can pass it directly as the action (no "@selector..." stuff. Eg:
UITapGestureRecognizer * singleTap = [[UITapGestureRecognizer alloc]initWithTarget:ac action:selectormethod];
@selector(...)
is a compiler directive that uses the compile-time symbol information to convert the string version of a selector into a constant SEL
selector reference for use at runtime. In your case, the caller would be doing that work, and the resulting value can be then passed around.