您的位置:首页 > 移动开发 > Objective-C

Objective-C中的_cmd是什么意思?

2017-02-22 00:00 417 查看
Objective-C的编译器在编译后会在每个方法中加两个隐藏的参数:

一个是_cmd,当前方法的一个SEL指针。

另一个就是用的比较多的self,指向当前对象的一个指针。

在Apple的官方介绍里看到轻描淡写的说了一句:“The _cmd variable is a hidden argument passed to every method that is the current selector”,其实说的就是_cmd在Objective-C的方法中表示当前方法的selector,正如同self表示当前方法调用的对象实例一样。

比如,我们要打印当前要调用的方法,可以这样来写:

- (void)viewDidLoad
{
[super viewDidLoad];

NSLog(@"Current method: %@ %@",[self class],NSStringFromSelector(_cmd));
}

输出结果如下:

TestingProject[570:11303] Current method: FirstViewController viewDidLoad
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Objective-C _cmd