16

例如,我想跟踪发送到我的 canPeformAction 的操作,它们太多,无法在每次出现时在调试器中用“悬停”显示。因此,我想跟踪日志并在我的测试周期后对其进行检查。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    NSLog(@"%s: sender=%@", __FUNCTION__, sender, action);
}
4

2 回答 2

36

你要

NSLog(@"%s: sender=%@, selector=%s", __FUNCTION__, sender,sel_getName(action));
于 2012-05-04T18:24:54.630 回答
9

使用NSStringFromSelector轻松获取 Selector 的可打印名称。

NSStringFromSelector(action)

NSString * NSStringFromSelector ( SEL aSelector );

返回给定选择器的字符串表示形式。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    NSLog(@"Action: %@", NSStringFromSelector(action));
}
于 2015-06-14T18:45:45.730 回答