在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));
}
输出结果如下:
Current method:ViewController viewDidLoad
- ps:
OC的编译器在编译后会在每个方法中加两个隐藏的参数:
一个是_cmd,当前方法的一个SEL指针。
一个是self,指向当前对象的一个指针。
网友评论