文档章节

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

Zifirery
 Zifirery
发布于 2017/02/22 22:32
字数 190
阅读 22
收藏 0

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

本文转载自:http://blog.csdn.net/zhouhuishine/article/details/6069976

共有 人打赏支持
Zifirery
粉丝 0
博文 31
码字总数 17077
作品 0
南京
iOS工程师
私信 提问
iOS Runtime详解之SEL,Class,id,IMP,_cmd,isa,method,Iva

SEL/objc_selector 透明的数据结构,可以理解为C String typedef struct objc_selector *SEL; 也就是说,SEL是指向一个C String的指针。 id/objc_object id - 指向一个类的实例对象 底层代码...

小春0618
2016/05/08
204
0
objective-c 中setString什么意思呢?

objective-c 中setString什么意思呢?

dzqiang
2012/09/08
675
2
Swift 内部机制浅析

Swift是苹果公司最新推出的编程语言,据很多人说,是用来”代替“Objective-C。但是没有确切的证据。我花了一些时间对Swift二进制和运行环境实施逆向工程技术,然后我对Swift有些少许的发现。...

jluflyingz
2014/06/18
2.2K
5
Linux小函数问题

求大佬解释一下cpu-exec函数的每一步意思,另外一个问题是在cmd-c()函数中调用时传入参数-1,请问这是什么意思?

LTang
2017/02/21
82
0
Objective-C runtime简单应用

过去的几年中涌现了大量的Objective-C开发者。有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言的。也就是说有...

田广ly
2015/12/28
17
0

没有更多内容

加载失败,请刷新页面

加载更多

控制台打印图片

function dev(){ if (window.console){ console.log("%c\n ", "font-size:100px;background:url('http://gmcyzs.com/resources/images/logo.png') no-repeat"); console.log('%c 深务平台,\......

羊皮卷
8分钟前
0
0
MyBaties的二级缓存

二级缓存介绍 在上文中提到的一级缓存中,其最大的共享范围就是一个SqlSession内部,那么如何让多个SqlSession之间也可以共享缓存呢,答案是二级缓存。 当开启二级缓存后,会使用CachingExec...

嘴角轻扬30
9分钟前
0
0
10.新增博客功能-结束语---《Beetl视频课程》

本期视频实现发布新博客功能 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK 教程进入了尾声,该讲的知识点基本讲到了,本节课不会讲新的知识点。...

Gavin-King
13分钟前
1
0
SpringBoot项目热部署

IntelliJ IDEA开发工具 1.需要在pom.xml文件中加入以下依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> ......

llsydn
15分钟前
0
0
JVM问题排查也不是很难--工具使用

目录 概述 环境准备 工具介绍 远程连接方式 开启JMX 工具远程连接 参考文献 概述 线上环境中,程序越来越慢,一头雾水?遇到程序经常宕机,但找不到原因?排查问题却经常记不住命令? 那是没找到好...

java_龙
19分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部