黑马程序员技术交流社区

标题: 关于调用实例方法时内存操作 的问题 [打印本页]

作者: coding_wang    时间: 2015-9-6 14:32
标题: 关于调用实例方法时内存操作 的问题
设 有Abc类  类中有 名为test 的对象方法,执行一下语句:

Abc *a =[Abc new];
[a test];

执行 [a test] ; 语句时:
1.存在于栈区的a所存储的地址 找到 在堆区创建的 a的实例对象
2.a实例对象按照_isa变量中的地址 查找 同在堆区的Abc类的类对象
3.在Abc的类对象里存储的多个SEL中查找符合由[a test]所封装的SEL
4.查找到符合的SEL后,按照找到的SEL中存储的对象方法地址找到在代码区的代码执行.

问题:
1.在哪一步中封装 [a test]的SEL???
2.封装SEL的时候是不是把相应的参数也进行封装?如果不是,那么参数的传递在整个过程当中是怎么实现的呢?








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2