在Objective-C中查找选择器的方法签名

时间:2010-09-14 23:04:54

标签: iphone cocoa-touch

在哪里可以找到内置类(如UIGestureRecognizer或UIMenuItem等)中回调方法的方法签名?

例如, UIMenuItem 的文档状态:

  

initWithTitle:动作:
  创建并返回使用给定标题和操作初始化的菜单项对象。

     

- (id)initWithTitle:(NSString )标题动作:(SEL)动作

     

参数
  标题
  菜单项的标题。
  动作
  一个选择器,用于标识响应者对象调用的方法,以处理由菜单项表示的命令   返回值
  初始化的UIMenuItem对象,如果创建对象时出现问题,则为nil。

我如何知道“行动”可能会收到什么参数?

2 个答案:

答案 0 :(得分:5)

请参阅Target-Action Mechanism in UIKit的文档。具体来说,它提到了以下内容:

  

与Application Kit相比,其中action方法可能只有一个或两个有效签名,UIKit框架允许三种不同形式的动作选择器:

     
      
  • - (void)action
  •   
  • - (void)action:(id)sender
  •   
  • - (void)action:(id)sender forEvent:(UIEvent *)event
  •   

答案 1 :(得分:1)

'action'是Cocoa Touch / UIKit中的惯例:Target-Action in UIKit

动作可以在UIKit中具有以下三种签名中的任何一种:

- (void)action
- (void)action:(id)sender
- (void)action:(id)sender forEvent:(UIEvent *)event