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表示当前方法调用的对象实例一样。
比如,我们要打印当前要调用的方法,可以这样来写:
输出结果如下:
一个是_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是什么意思?
- 在objective-C中#pragma mark是什么意思?
- Objective-C是动态运行时语言是什么意思?
- When we call objective c is runtime language what does it mean? 我们说的oc是动态运行时语言是什么意思?
- 在objective-C中#pragma mark是什么意思
- cmd是什么意思 cmd.exe怎么使用
- 在objective-C中#pragma mark是什么意思?
- Objective-C是动态运行时语言是什么意思?
- 在objective-C中#pragma mark是什么意思?
- Objective-C语言的 if ( self = [super init] )什么意思?
- objective-C中#pragma mark是什么意思
- 在objective-c中, ^ 号 是什么意思
- 在objective-C中#pragma mark是什么意思?
- 在java 中 cmd.startsWith("") 是什么意思
- objective-C中#pragma mark是什么意思?
- i386和X86是什么意思
- java中 char a=(char)(64+i);是什么意思啊
- SqlServer中的dbo是什么意思?[转]