黑马程序员技术交流社区
标题:
sel 的问题
[打印本页]
作者:
程序猿-2014
时间:
2014-4-11 20:42
标题:
sel 的问题
本帖最后由 程序猿-2014 于 2014-4-12 11:09 编辑
- (void)test
{
[self performSelector:_cmd];
}
只记得这一句会引发死循环 可是为什么会引发死循环呢 有没有简单直白的理解方法....
作者:
于清扬
时间:
2014-4-11 23:08
_cmd 代表当前方法的sel 等于就是@selector(test)
所以[self performSelector:_cmd];就等于是-test(),你在一个方法里无限调用自己,当然就死循环了
作者:
脸皮猴
时间:
2014-4-11 23:31
我靠。。刷技术分好明显哈哈哈。。。{:3_47:}
因为每一个方法内部都有一个隐形的sel常理,_cmd ,他与@selector(test)是相同的。
[self performSelector:_cmd]; // 说白了就是自己调用自己,必须就是死循环了。
作者:
程序猿-2014
时间:
2014-4-12 11:07
脸皮猴 发表于 2014-4-11 23:31
我靠。。刷技术分好明显哈哈哈。。。
因为每一个方法内部都有一个隐形的sel常理,_cmd ,他与@sele ...
我知道是自己调用自己 我问的是这个题的拆分出来 内存 程序运行的行为
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2